我的程序运行的结果出了问题 求大家帮我修改一下
编写程序:从键盘输入10名学生的姓名及三科成绩,将这10个学生的信息按照总分从高到低的顺序排序。#include"stdio.h"
#define N 3
struct stu
{
char nam[10];
int sco[3];
int sum;
};
void f_input(struct stu infor[N])
{
int i,k;
for(i=0;i<N;i++)
{printf("Input name:\n");
gets(infor[i].nam);}
fflush(stdin);
for(i=0;i<N;i++)
{for(k=0;k<3;k++)
{printf("Input a score:\n");
scanf("%d",&infor[i].sco[k]);}
infor[i].sum=infor[i].sco[1]+infor[i].sco[2]+infor[i].sco[3];}
}
void f_sort(struct stu cmp[N])
{
int i,k;
struct stu temp;
for(i=1;i<N;i++)
for(k=1;k<=N-i;k++)
if(cmp[i-1].sum<cmp[i].sum)
{temp=cmp[i-1];
cmp[i-1]=cmp[i];
cmp[i]=temp;}
}
void f_print(struct stu put[N])
{
int i,k;
printf("姓名\t成绩1\t成绩2\t成绩3\t\n");
for(i=0;i<N;i++)
{
printf("%s\t",put[i].nam);
fflush(stdin);
for(k=0;k<3;k++)
printf("%d\t",put[i].sco[k]);
printf("\n");
}
}
void main()
{ struct stu s[N];
f_input(s);
f_sort(s);
f_print(s);
}
[ 本帖最后由 Ljldym 于 2015-5-9 14:07 编辑 ]