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

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

帮着·修改一下。
展开
 我来答
ldw_xc007
2014-11-19 · TA获得超过458个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:246万
展开全部
#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");
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式