作业
#include<stdio.h>
#include<string.h>
//定义全局变量
int stdnum=0;//存放学生个数
char name[10][10]={""};
int score[10]={0};
//定义菜单函数
void print_menu()
{
printf("\t\t======1、录入学生的信息==============\n");
printf("\t\t======2、查看学生信息================\n");
printf("\t\t======3、求出学习最好的学生信息======\n");
printf("\t\t======4、按姓名将所有学生升序排序====\n");
printf("\t\t======5、按成绩将所有学生升序排序====\n");
printf("\t\t======0、退出========================\n");
}
//录入学生的信息
void logdata(void)
{
printf("请输入学生个数:");
scanf("%d",&stdnum);
for(int i=0;i<stdnum;i++)
{
printf("请输入第%d个学生姓名:",i+1);
scanf("%s",name[i]);
printf("请输入第%d个学生分数:",i+1);
scanf("%d",&score[i]);
}
}
//查看学生信息
void view(void)
{
for(int i=0;i<stdnum;i++)
{
printf("第%d个学生的姓名为:%s,成绩为%d\n",i+1,name[i],score[i]);
}
}
//求出学习最好的学生信息
void maxscorestu(void)
{
int bestscoresubs=0;
int i =0;
for(i=0;i<stdnum;i++)
{
if(score[i]>score[bestscoresubs])
{
bestscoresubs=i;
}
}
printf("学习最好的学生是:%s,成绩为:%d\n",name[bestscoresubs],score[bestscoresubs]);
}
//按姓名将所有学生升序排序
void namesort(void)
{
int temp=0;
char tempname[10]="";
//排序
for(int i=0;i<stdnum;i++)
{
for(int j=i;j<stdnum;j++)
{
if(strcmp(name[j],name[i])<0)
{
temp=score[j];
strcpy(tempname,name[j]);
score[j]=score[i];
strcpy(name[j],name[i]);
score[i]=temp;
strcpy(name[i],tempname);
}
}
}
//输出
for(int i=0;i<stdnum;i++)
{
printf("%s %d\n",name[i],score[i]);
}
}
//按成绩将所有学生升序排序
void scoresort(void)
{
int temp=0;
char tempname[10]="";
//排序
for(int i=0;i<stdnum;i++)
{
for(int j=i;j<stdnum;j++)
{
if(score[j]<score[i])
{
temp=score[j];
strcpy(tempname,name[j]);
score[j]=score[i];
strcpy(name[j],name[i]);
score[i]=temp;
strcpy(name[i],tempname);
}
}
}
//输出
for(int i=0;i<stdnum;i++)
{
printf("%s %d\n",name[i],score[i]);
}
}
/************************主程序****************************/
int main(int argc, const char *argv[])
{
//做个菜单
int menu = 0;
while(1)
{
print_menu(); //调用菜单函数
printf("请输入>>>");
scanf("%d", &menu);
getchar();
//多分支选择
switch(menu)
{
case 1:
{
logdata();
}
break;
case 2:
{
view();
}
break;
case 3:
{
maxscorestu();
}
break;
case 4:
{
namesort();
}
break;
case 5:
{
scoresort();
}
break;
case 0:
{
goto END;
}
default:printf("您输入的功能有误,请重新输入\n");
}
}
END:
return 0;
}