C语言结构体实验三?

下面程序的功能是从键盘输入 n 个学生的学号(学号为 3 位的整数,从 100 开 始)、成绩并存入结构数组中,按成绩从低到高排序并输出排序后的学生信息。 (填写下面 2 个空)
例如:
输入样例:
3 (n=3)
101 84
102 92
103 76
输出样例:
103 76
101 84
102 92
————————————————
#include <stdio.h>
typedef struct student
{
int no;
int score;
}student;
int main()
{
student s[1000];
int n,i,j;
int temp;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&s[i].no,&s[i].score);
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(_____(1)_________)//分数排序
{
temp=s[j].score;
s[j].score=s[j+1].score;
s[j+1].score=temp;

//分数交换后,学号交换
_____(2)_________
s[j].no=s[j+1].no;
s[j+1].no=temp;
}
}
}
for(i=0;i<n;i++)
{
printf("%d %d\n",s[i].no,s[i].score);
}
return 0;
}

第1个回答  2020-05-25
依次填:
s[j].score>s[j+1].score
temp=s[j].no;本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网