C语言用结构体方法输入50个学生记录,组成记录数组,然后按成绩由高到低输出(每行10个记录)

输入50个学生记录(每个学生记录包括学号和成绩),组成记录数组,然后按成绩由高到低的次序输出(每行10个记录)。排序方法采用选择排序。
/*输入50个学生记录(每个学生记录包括学号和成绩),组成记录数组,然后按成绩由高到低的次序输出(每行10个记录)。排序方法采用选择排序。*/

帮着·修改一下。

#define N 5
#include "stdio.h"
struct student
{ int num;
int score;
};
struct student s[N],temp;
void input()
{ int i;
for(i=0;i<N;i++)
{
printf("Enter number:");
scanf("%d",&s[i].num);
printf("Enter score:");
scanf("%d",&s[i].score);
}
}
void output()
{ int i;
for(i=0;i<N;i++)
{// if(i%10==0)//是不是想利用变量i来控制换行?
printf("num=%d\n,score=%d\n",s[i].num,s[i].score);
}
}
void main()
{ void input();
void output();
int i,j,b;
input();
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
if(s[i].score>s[j].score)
{temp=s[i];
s[i]=s[j];
s[j]=temp;
}
}
output();
}

调试正确追问

是的,每行10个记录。你再改一下。

追答

if(i%10==0) printf("\n");

if(i%10==0) printf("\n");

温馨提示:答案为网友推荐,仅供参考
相似回答