#include<stdio.h>
#include<string.h>
#include<conio.h>
struct student
{
char name[20];
int a;
} ;
int n;
void luru(struct student stu[],int n)
{
int i;
printf("请输入各学生信息:\n");
printf("姓名
成绩\n");
for(i=0;i<n;i++)
{
scanf("%s%d",stu[i].name,&stu[i].a);
}
}
void jishu(struct student stu[],int n)
{
int i,count=0;
for(i=0;i<n;i++)
{
if(stu[i].a<=59)
count++;
}
printf("不及格人数为:%d\n",count);
}
void paixu(struct student stu[],int n)
{
int i,j;
struct student tempstu;
printf("排序前,学生成绩:\n");
printf("姓名
成绩\n");
for(i=0;i<n;i++)
printf("%s\t\t%d\n",stu[i].name,stu[i].a);
printf("按成绩降序排列(冒泡排序法)\n");
for(i=0;i<n-1;i++)
for(j=n-i;j>i;j--)
if(stu[j-1].a<stu[j].a)
{
tempstu=stu[j-1];
stu[j-1]=stu[j];
stu[j]=tempstu;
}
printf("按总成绩降序排序后,学生成绩:\n");
printf("姓名
成绩\n");
for(i=0;i<n;i++)
printf("%s\t\t%d\n",stu[i].name,stu[i].a);
}
main()
{
struct student stu[n];
char choose,a;
do
{
printf("|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|\n");
printf("| 1:录入学生成绩;
|\n");
printf("| 2:不及格人数计数;
|\n");
printf("| 3:排序学生成绩;
|\n");
printf("|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|\n");
printf("请在1-3选择\n");
fflush(stdin);
choose=getchar();
switch(choose)
{
case '1':printf("1:录入学生成绩\n");
printf("请输入学生人数:");
scanf("%d",&n);
luru(stu,n);
break;
case '2':printf("2:不及格人数计数\n");
jishu(stu,n);
break;
case '3':printf("2:排序学生成绩\n姓名
成绩\n");
paixu(stu,n);
break;
}
printf("是否需要重新选择:(Y/y:表示是,N/n:表示否)\n");
fflush(stdin);
a=getchar();
if (a=='N'||a=='n')
break;
}while(a=='Y'||a=='y');
return 0 ;
}
已经解决了谢谢各位