功能:
(1)使用菜单完成;
(2)有学生的信息录入功能:输入学生个数,并将学生的姓名、分数录入;
(3)查看学生信息:输出所有学生姓名以及对应的分数;
(4)求出学习最后的写生信息:求最大置
(5)按姓名将所有学生进行升序排序;
(6)按成绩将学生进行升序排序;
注意:要求每个功能使用函数完成。
(没完成任务)
#include<stdio.h>
#include<string.h>
#define M 1000000
char name[M][10]={""};
int score[M]={0};
int num=0;
void printf_menu()
{
printf("----------------输入1:录入信息-------------\n");
printf("----------------输入2:查看信息-------------\n");
printf("----------------输入1:查找最佳成绩信息-----\n");
printf("----------------输入1:按姓名升序-----------\n");
printf("----------------输入1:按成绩升序-----------\n");
}
void intput_student_message(char name[][10],int score[],int num) //信息输入函数
{
int i=0;
for(i=0;i<num;i++)
{
printf("请输入第%d个学生的名字和成绩:",i+1);
scanf("%s %d",name[i],&score[i]);
}
}
void output_student_message(char name[][10],int score[],int num) //信息输出函数
{
int i=0;
for(i=0;i<num;i++)
{
printf("第%d个学生信息:名字:%s\t成绩:%d\n",i+1,name[i],score[i]);
}
}
void max_score_message(char name[][10],int score[],int num) //找出成绩最佳函数
{
int i=0,maxi=0,temp=0; //maxi表示最大值下标
int max=score[i];
for(i=0;i<num;i++)
{
if(max<score[i])
{
temp=max;
max=score[i];
score[i]=max;
maxi=i;
}
}
printf("最佳成绩学生:%s\t成绩:%d\n",name[maxi],score[maxi]);
}
void name_sx(char name[][10],int num) //名字shengxu
{
int i=0,j=0;
char name[i],temp[10];
for(i=0;i<num;i++)
{
for(j=0;j<10-i;j++)
if(strcmp(name[j],name[j+1]>0))
{
temp[10]=name[i];
name[j]=name[j+1];
name[j+1]=temp[10];
}
}
for(i=0;i<num;i++)
{
printf("%s\t",name[i]);
}
putchar(10);
}
void score_px(char name[][10],int score[] ,int num) //成绩升序
{
int i=0,j=0,temp=0;
for(i=1;i<num;i++)
{
for(j=0;j<num-i;j++)
{
if(score[j]>score[j+1])
{
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
for(i=0;i<num;i++)
{
printf("%d\n",score[i]);
}
putchar(10);
}
int main(int argc, const char *argv[])
{
int menu=0,num=0; //num输入学生数
// char name[M][10]={""};
// int score[M]={0};
while(1)
{
printf_menu(); //调用菜单函数
printf("请输入>>>");
scanf("%d",&menu);
switch(menu)
{
case 1:printf("请输入学生个数:");
scanf("%d",&num);
intput_student_message(name,score,num);
break;
case 2:output_student_message(name,score,num);
break;
case 3:max_score_message(name,score,num);
break;
case 4:name_sx(name,score,num);
break;
case 5:score_px(name,score,num);
break;
}
}
return 0;
}