輸入學生姓名查詢成績韋瀟
⑴ 輸入學生成績姓名學號按成績排序
#include<stdio.h>
#define N 10/////////////////學生數目
int main()
{
int a[N],i=0,j=0,k=0;
for(i;i<N;i++)
{
scanf("%d",&a[i]);
}
for(j;j<N;j++)
for(k=j+1;k<N;k++)//////排序專
{
int pt;
if(a[j]<a[k])
{
pt=a[j];
a[j]=a[k];
a[k]=pt;
}
}
for(int m=0;m<N;m++)////輸出屬
{
printf("%d\t",a[m]);
}
return 0;
}
⑵ 存入N個同學的成績表(學號、姓名、成績),輸入學號或姓名,查找其成績。
//ok了,不過我不是姐姐。我只是貼錯頭像,不知怎麼弄成男的。暈。。
#include<stdio.h>
#include<string.h>
#define N 100 //當學生數目>N時,修改這里的值。
struct Student
{
char xuehao[100];
char name[100];
int grade;
};
Student stu[N];
void main()
{
char ans[100];
int choose;
int n;
int i;
printf("請輸入學生的人數:");
scanf("%d",&n);
printf("請分別輸入學生的學號,姓名,成績\n");
for(i=0;i<n;i++)
scanf("%s%s%d",&stu[i].xuehao,&stu[i].name,&stu[i].grade);
do
{
printf("請選擇你要查詢的方式:\n1.按學號\n2.按姓名\n0.退出\n");
scanf("%d",&choose);
if(choose==1)
{
printf("請輸入你要查詢的學號:\n");
scanf("%s",&ans);
for(i=0;i<n;i++)
{
if(strcmp(ans,stu[i].xuehao)==0)
{
printf("姓名:%s\n學號:%s\n成績:%d\n",stu[i].name,stu[i].xuehao,stu[i].grade);
break;
}
}
if(i==n) printf("無此學號\n");
}
else if(choose==2)
{
printf("請輸入你要查詢的姓名:\n");
scanf("%s",&ans);
for(i=0;i<n;i++)
{
if(strcmp(ans,stu[i].name)==0)
{
printf("姓名:%s\n學號:%s\n成績:%d\n",stu[i].name,stu[i].xuehao,stu[i].grade);
break;
}
}
if(i==n) printf("無此姓名\n");
}
else if(choose==0)
{
break;
}
else
{
printf("輸入無效,請重新輸入\n");
}
}while(choose!=0);
}
⑶ 輸入25個學生姓名成績,按照成績高低排序,做一個輸入學生姓名可以查找成績的程序
#include<stdio.h>
void main()
{
int i,j,e,a[25];
for(i=0;i<25;i++)
scanf("%d",&a[i]);
for(j=0;j<24;j++)
for(i=0;i<24-j;i++)
if(a[i]>a[i+1])
{
e=a[i];
a[i]=a[i+1];
a[i+1]=e;
}
for(i=0;i<25;i++)
printf("%3d",a[i]);
printf("\n");
printf("請輸入要找的成績\n");
int score;
scanf("%d",&score);
for(i=0;i<25;i++)
if(score==a[i])
{
printf("第%d名回\n",i+1);
j=0;
}
if(j==1)
printf("沒有這個答\n");
}
⑷ C++程序:用戶輸入想查找的學生姓名,給出其成績。
查詢學生的成績
⑸ 寫一個學生成績管理系統,要求實現輸入學生的姓名,學號,成績,存儲在一個文件里,完成,查詢,修改,輸
咦,不是同一個人吧,還是同一個班的,剛寫過這個程序,就是來拿分的,哈哈哈
⑹ 編寫一個程序,可以根據提示,讓用戶輸入想要查找的學生的姓名,給出其成績。
#include<iostream>
#include<string>
using namespace std;
typedef struct
{
char *name;
int score;
}Stu;
int main()
{
Stu stu[5];
char *name[]={"S1","S2","S3","S4","S5"};
int score[]={80,40,70,90,100};
cout<<"Please input student name: "<<endl;
char a[20];
cin>>a;
for(int n=0;n<5;n++)
{
stu[n].name= name[n];
stu[n].score= score[n];
}
int m;
for(m=0;m<5;m++)
{
if(!strcmp(stu[m].name,a))
{cout<<stu[m].score;
break;
}
}
return 0;
}
⑺ C 程序:用戶輸入想查找的學生姓名,給出其成績。
#include "conio.h"
struct student
{
char name [15];
int score;
};
int find (struct student s[]);void main()
{
int i=0;
struct student stu[5];
for(i=0;i<5;i++)
{
printf("輸入第%d個學生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("輸入第%d個學生的成績:",i+1);
scanf("%d",&stu[i].score);
}
int nIndex=find(stu);
if(nIndex!=-1)
printf("找到該同學信息,該同學位於第%d個位置(數組下標)",nIndex);
getch();
}int find(struct student s[])
{
char name[15];
int i=0;
int nIndex=-1;
printf("輸入要查詢學生的姓名:");
scanf("%s",name);
for(i=0;i<5;i++)
{
if(strcmp(s[i].name,name)==0)
{
nIndex=i;
break;
}
}
return nIndex;
}
⑻ 輸入學生姓名,查找該學生並輸出其學號姓名成績
1、更多交流可參考我空間主頁有關文章。
2、#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
/*定義結構體*/
struct student
{
num;
float score;
struct student *next;
};
/*創建一個只有頭結點的空鏈表*/
struct student *create_head()
{
struct student *head;
head=(struct student*)malloc(sizeof (struct student) );
if(head==NULL) //小心別漏這個
{
printf("申請頭結點失敗!\n");
return NULL;
}
head->next=NULL;
return head;
}
/*將s指向的結點插入鏈表,使鏈表保持升序,並返回頭結點*/
struct student *insert(struct student *head,struct student *s)
{
struct student *p=head;
while(p->next!=NULL&&s->score>p->next->score)//特別注意&&左右不能寫反,若s最大,最後p->next=NULL,p->next->score運行出錯
p=p->next;
if(p->next==NULL) //s->score最大的情況 //其實兩種情況可以並在一塊寫
{
p->next=s; //連接結點
s->next=NULL; //p->next就等於NULL
}
else
{
p->next=s; //連接結點
s->next=p->next;
}
return head ;
}
/*查找符合條件的結點,並返回指向該結點的指針*/
struct student *search(struct student *head)
{
struct student *p=head->next;
int num;
printf("請輸入要查找學生的學號:\n");
scanf("%d",&num);
while(p!=NULL&&p->num!=num) //特別注意兩條件不能寫反,若寫反最後p指向NULL時p->num找不到 運行出錯
p=p->next;
if(p==NULL) //特別注意兩個if不能調換,若調換最後p指向NULL時p->num運行出錯
{
printf("找不到符合條件的結點!!!");
return NULL; //查找不到返回空指針
}
if(p->num==num)
{
printf("找到符合條件的結點\n該結點為%d\t%f",p->num,p->score);
return p; //返回查找到的指針
}
}
/*輸出鏈表各結點的值,也稱對鏈表的遍歷*/
void print(struct student *head)
{
struct student *p;
printf(" 鏈表如下: \n");
p=head->next;
while(p!=NULL)
{
printf("%d\t%.1f\n",p->num,p->score);
p=p->next;
}
}
/*釋放鏈表*/
void free_list(struct student *head)
{
struct student *p=head ;
printf("釋放鏈表:\n");
while(p!=NULL)
{
head=head->next;
free(p);
p=head;
}
printf("釋放鏈表成功!\n");
}
/*刪除鏈表中值為num的結點,並返回鏈表的首指針*/
struct student *delete_note(struct student *head,int num_x)
{
struct student *p1=head->next , *p2=head ;
while(p1!=NULL&&p1->num!=num_x) //特別注意&&左右條件不能調換,若調換如果p1指向NULL時p1->num運行出錯
{
p2=p1;
p1=p1->next;
}
if(p1==NULL) //特別注意兩個if不能調換,若調換如果p1指向NULL時,p1->num運行出錯
printf("找不到符合刪除要求的結點!!!\n");
if(p1->num==num_x)
{
p2->next=p1->next;
free(p1);
printf("結點刪除成功!\n");
}
return head;
}
/*完整的有頭結點鏈表操作程序*/
void main()
{
struct student *p , *head ;
char c;
int num ;
float score ;
printf("有頭結點鏈表操作程序:\n");
head=create_head();
while(1)
{
printf("I:插入結點(自動升序) P:輸出鏈表 S:查找結點 D:刪除結點 E:釋放鏈表並退出程序! ");
c=getch();
switch(c)
{
case'I':
printf("請分別輸入要插入學生的學號和分數:\n");
scanf("%d%f",&num,&score);
p=(struct student*)malloc( sizeof(struct student) );
if(p==NULL)
{
printf("申請該結點失敗!!!\n");
exit (0) ;
}
p->num=num; p->score=score; //給p賦值
insert(head,p);
printf("插入成功!\n");
break;
case'P':
print(head);
break;
case'S':
search(head);
break;
case'D':
printf("請輸入要刪除的學生的學號:\n");
scanf("%d",&num);
delete_note(head,num);
break;
case'E':
free_list(head);
exit (0);
}
}
}
⑼ 1、學生信息的錄入。如:學生編號、學生姓名、學生成績。 2、學生信息的查詢及顯示。如:按學號查詢、按成
#include<iostream>
#include<string>
using namespace std;
#define OVERFLOW -1
typedef struct
{
string name;
int study_num;
int score_num;
}message, * message_point;
typedef struct
{
message * a; //存儲空間基址
int length; //當前長度
int lisesize; //當前分配的存儲容量
}SqList;
void InitList(SqList & L) //建立線性表函數
{
L.lisesize=20; //表的空間容量是20
L.length=1; //空表的長度為
L.a=new message[L.lisesize];
if(!L.a) exit(OVERFLOW);
}
void Add(SqList & L) //增加函數
{
string b;
if(L.length==L.lisesize)
cout<<"該空間已滿"<<endl;
else
{
if(L.length==0)
{
cout<<"姓名:";
cin>>L.a[0].name;
cout<<"學號:";
cin>>L.a[0].study_num;
cout<<"成績:";
cin>>L.a[0].score_num;
L.length++;
}
else
{
cout<<"姓名:";
cin>>L.a[L.length].name;
cout<<"學號:";
cin>>L.a[L.length].study_num;
cout<<"成績:";
cin>>L.a[L.length].score_num;
L.length++;
}
if(L.length==L.lisesize)
cout<<"空間已滿"<<endl;
}
}
void Delete(SqList & L) //刪除函數
{
bool c=false;
int i,j,b,k=L.length;
if(L.length==1)
cout<<"空間已空"<<endl;
else
{
cout<<"輸入刪除學生的學號"<<endl;
cin>>b;
for(i=1;i<L.length;i++)
{
if(L.a[i].study_num==b)
{
c=true;for(j=i+1;j<L.length;j++)
L.a[j-1]=L.a[j];
}
}
}
if(c==true)
L.length--;
else
cout<<"該學生不存在"<<endl;
}
void Modify(SqList & L) //修改函數
{
bool c=false;
int i,b;
cout<<"輸入要修改的學生的學號"<<endl;
cin>>b;
for(i=1;i<L.length;i++)
{
if(L.a[i].study_num==b)
{
c=true;
cout<<"姓名:";cin>>L.a[i].name;
cout<<"學號:";cin>>L.a[i].study_num;
cout<<"成績:";cin>>L.a[i].score_num;
}
}
if(c==false)
cout<<"該學生不存在"<<endl;
}
void Display(SqList L)//輸出函數,顯示學生信息
{
int i;
if(L.length==1)
cout<<"空間已空"<<endl;
for(i=1;i<L.length;i++)
{
cout<<"學生姓名:"<<L.a[i].name<<" "<<"學號:"<<L.a[i].study_num<<" "<<"成績:"<<L.a[i].score_num<<endl;
}
}
void Select_name(SqList L) //查詢學生姓名函數
{
int i=0;
int j=0;
string b;
cout<<"輸入待查詢的學生的姓名"<<endl;
cin>>b;
for(i=1;i<L.length;i++)
{
if(b==L.a[i].name)
{
cout<<"姓名: "<<L.a[i].name<<endl;
cout<<"學號: "<<L.a[i].study_num<<endl;
cout<<"成績:"<<L.a[i].score_num<<endl;
break;
}
j++;
}
if(j==(L.length-1))
cout<<"該學生不存在"<<endl;
}
void Select_study_num(SqList L) //查詢學生學號函數
{
int i,j=0;int b;
cout<<"輸入待查詢的學生的學號"<<endl;
cin>>b;for(i=1;i<L.length;i++)
{
if(b==L.a[i].study_num)
{
cout<<"姓名:"<<L.a[i].name<<endl;
cout<<"學號:"<<L.a[i].study_num<<endl;
cout<<"成績:"<<L.a[i].score_num<<endl;
break;
}
j++;
}
if(j==(L.length-1))
cout<<"該學生不存在"<<endl;
}
void Select_score_num(SqList L) //查詢學生成績函數
{
int i,j=0;
int b;cout<<"輸入待查詢的學生的成績"<<endl;
cin>>b;
for(i=1;i<L.length;i++)
{
if(b==L.a[i].score_num)
{
cout<<"姓名:"<<L.a[i].name<<endl;
cout<<"學號:"<<L.a[i].study_num<<endl;
cout<<"成績:"<<L.a[i].score_num<<endl;
break;
}
j++;
}
if(j==(L.length-1))
cout<<"該學生不存在"<<endl;
}
void Menu()
{
char ch;
cout<<"增加學生信息請輸入 a"<<endl;
cout<<"刪除學生信息請輸入 b"<<endl;
cout<<"修改學生信息請輸入 c"<<endl;
cout<<"顯示學生信息請輸入 d"<<endl;
cout<<"按姓名查詢請輸入 e"<<endl;
cout<<"按學號查詢請輸入 f"<<endl;
cout<<"按成績查詢請輸入 g"<<endl;
}
int main()
{
int s=1;
char ch;
SqList L;
InitList(L);
while(s==1)
{
Menu();
cin>>ch;
s=0;
while(s==0)
{
switch(ch)
{
case'a': Add(L); break;
case'b': Delete(L); break;
case'c': Modify(L); break;
case'd': Display(L); break;
case'e': Select_name(L);break;
case'f': Select_study_num(L);break;
case'g': Select_score_num(L);break;
}
cout<<"繼續前一操作請輸入"<<0<<endl;
cout<<"返回主菜單請輸入"<<1<<endl;
cout<<"退出程序請輸入"<<2<<endl;
cin>>s;
}
}
return 0;
}
看看符不符合 是否還需要添加別的功能