网站如何盈利,辽宁省建设银行e护航网站,网站改版的原因,网站子页面如何做seo题目描述 有一学生成绩表#xff0c;包括学号、姓名、3门课程成绩。请按要求排序输出#xff1a;若输入1#xff0c;则按第1门课成绩降序输出成绩表#xff0c;若输入为i#xff08;1i3)#xff0c;则按第i门课成绩降序输出成绩表。 输入 首先输入一个整数n(1包括学号、姓名、3门课程成绩。请按要求排序输出若输入1则按第1门课成绩降序输出成绩表若输入为i1i3)则按第i门课成绩降序输出成绩表。 输入 首先输入一个整数n(1n100)表示学生人数 然后输入n行每行包含一个学生的信息学号12位、姓名不含空格且不超过20位以及3个整数表示3门课成绩数据之间用空格隔开。 最后一行输入一个整数i表示要求按第i门课成绩降序排序输出若该门课成绩相同则按学号升序。 输出 输出按第i门课降序排序的结果格式见样例。 样例输入 3 541207010188 Zhangling 89 78 95 541207010189 Wangli 85 87 99 541207010190 Fangfang 85 68 76 1 样例输出 541207010188 Zhangling 89 78 95 541207010189 Wangli 85 87 99 541207010190 Fangfang 85 68 76 完整源码
#include stdio.h
#include stdlib.h
typedef struct student
{long long num;char name[40];int grade[3];
} STUDENT;
int main()
{struct student s[100];struct student t;int n,i,j,m;scanf(%d,n);for(i0; in; i){scanf(%lld,s[i].num);scanf( %s,s[i].name);scanf(%d,s[i].grade[0]);scanf(%d,s[i].grade[1]);scanf(%d,s[i].grade[2]);}scanf(%d,m);m--;for(j1; jn; j){for(in-1; ij; i--){if(s[i].grade[m]s[i-1].grade[m]){ts[i];s[i]s[i-1];s[i-1]t;}}}for(i0; in; i)printf(%lld %s %d %d %d\n,s[i].num,s[i].name,s[i].grade[0],s[i].grade[1],s[i].grade[2]);return 0;
}