#include<stdio.h>
#include<string.h>
void menu(){
printf("=======学生管理系统======\n");
printf("=====1.学生信息录入=====\n");
printf("=====2.查看学生信息=====\n");
printf("=====3.学习最好的学生信息\n");
printf("=====4.学生姓名升序打印==\n");
printf("=====5.学生成绩升序打印==\n");
}
void num_1(char arr[][20],int a,int brr[])
{
for(int i = 0;i<a;i++)
{
printf("请输入姓名:");
scanf("%s",arr[i]);
getchar();
putchar(10);
printf("请输入成绩:");
scanf("%d",&brr[i]);
getchar();
putchar(10);
}
printf("输入完成\n");
}
void num_2(char arr[][20],int brr[],int a)
{
for(int i=0;i<a;i++)
{
printf("姓名:%s\t",arr[i]);
printf("成绩:%d",brr[i]);
putchar(10);
}
}
int num_3(int brr[],int a)
{
int max =0;
int maxi=0;
for(int i=0;i<a;i++)
{
if(max<brr[i])
{
max =brr[i];
maxi=i;
}
}
return maxi;
}
void num_4(char arr[][20],int brr[],int a)
{
for(int p=1;p<a;p++)
{
for(int i=0;i<a-p;i++)
{
char name[20]="";
int abb = 0;
if(strcmp(arr[i],arr[i+1])>0)
{
strcpy(name,arr[i]);
strcpy(arr[i],arr[i+1]);
strcpy(arr[i+1],name);
abb=brr[i];
brr[i]=brr[i+1];
brr[i+1]=abb;
}
}
}
for(int i=0;i<a;i++)
{
printf("第%d名",i+1);
printf("姓名:%s\t",arr[i]);
printf("成绩:%d",brr[i]);
printf("\n");
}
}
void num_5(char arr[][20],int brr[],int a)
{
for(int p=1;p<a;p++)
{
for(int i=0;i<a-p;i++)
{
char name[20]="";
int abb = 0;
if(brr[i]>brr[i+1])
{
strcpy(name,arr[i+1]);
strcpy(arr[i+1],arr[i]);
strcpy(arr[i],name);
abb=brr[i+1];
brr[i+1]=brr[i];
brr[i]=abb;
}
}
}
for(int i=0;i<a;i++)
{
printf("第%d名",i+1);
printf("姓名:%s\t",arr[i]);
printf("成绩:%d",brr[i]);
printf("\n");
}
}
int main(int argc, const char *argv[])
{
int put =0;
char arr[10][20]={0};
int brr[20]={0};
while(1)
{
menu();
scanf("%d",&put);
getchar();
int a= 0;
printf("请输入学生数总数:");
putchar(10);
scanf("%d",&a);
switch(put)
{
case 1:
{
num_1(arr,a,brr);
}
break;
case 2:
{
num_2(arr,brr,a);
}
break;
case 3:
{
int add=num_3(brr,a);
printf("排名第一 学生%s\t成绩:%d",arr[add],brr[add]);
putchar(10);
}
break;
case 4:
{
num_4(arr,brr,a);
}
break;
case 5:
{
num_5(arr,brr,a);
}
break;
default;
printf("输入错误");
}
}
return 0;
}