作业:![](https://i-blog.csdnimg.cn/direct/d72b359200a74146a6b80ae7554ae18e.png)
代码
#include <stdio.h>
#include<string.h>
int num=0;
char name[50][20]={""};
int score[50]={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======6、退出信息管理系统====\n");
}
//姓名录入函数
void input_ns(char arr[50][20],int brr[],int num)
{
for(int i=0;i<num;i++)
{
printf("请输入学生姓名以及相对应的成绩:\n");
scanf("%s%d",arr[i],&brr[i]);
}
}
//输出信息函数
void output_ns()
{
for(int i=0;i<num;i++)
{
printf("姓名:%s\t成绩:%d\n",name[i],score[i]);
}
}
//输出成绩最好学生信息
void print_best()
{
int best=score[0];
char btst[20]="";
for(int i=0;i<num;i++)
{
if(best<score[i])
{
best=score[i];
strcpy(btst,name[i]);
}
}
printf("成绩最好的学生是%s,他的成绩为%d\n",btst,best);
}
//按姓名排序函数
void sort_name()
{
char temp[20]="";
for(int i=1;i<num;i++)
{
for(int j=0;j<num-i;j++)
{
if(strcmp(name[j],name[j+1])>0)
{
strcpy(temp,name[j]);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],temp);
int tem=score[j];
score[j]=score[j+1];
score[j+1]=tem;
}
}
}
printf("按姓名升序排序结果如下:\n");
for(int i=0;i<num;i++)
{
printf("%s\t%d\n",name[i],score[i]);
}
}
//按成绩函数
void sort_score()
{
char temp[20]="";
for(int i=1;i<num;i++)
{
for(int j=0;j<num-i;j++)
{
if(score[j]>score[j+1])
{
strcpy(temp,name[j]);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],temp);
int tem=score[j];
score[j]=score[j+1];
score[j+1]=tem;
}
}
}
printf("按成绩升序排序结果如下:\n");
for(int i=0;i<num;i++)
{
printf("%s\t%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:
{
printf("请输入学生个数:");
scanf("%d",&num);
input_ns(name,score,num);
}
break;
case 2:
{
output_ns();
}
break;
case 3:
{
print_best();
}
break;
case 4:
{
sort_name();
}
break;
case 5:
{
sort_score();
}
break;
case 6:
{
goto END;
}
default:
{
printf("输入错误,请重新输入\n");
}continue;
}
}
END:
return 0;
}
效果图1
效果图2
![](https://i-blog.csdnimg.cn/direct/88b112a1055c4ecc8b8fc19c8b29aea3.png)
思维导图
![](https://i-blog.csdnimg.cn/direct/c5c6a137393d47ae9f06d1bffa4e5f96.png)