输入学生姓名查询成绩韦潇
⑴ 输入学生成绩姓名学号按成绩排序
#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;
}
看看符不符合 是否还需要添加别的功能