有n(1≤n≤100)个学生的成绩记录,其中包含学号和成绩两项。按照成绩从高到低顺序输出成绩及格(≥60)学生的学号和成绩。成绩相同时按照学号从小到大顺序输出。

cjl1166 cjl1166 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区



Input



第1行:输入一个整数n,表示学生记录数。

第2行 ~ n+1行:每行是学号(11位数字)及成绩(0到100之间的整数)。学号和成绩之间有一个空格。


Output



每行输出成绩及格学生按要求排序后以一个空格分隔的学号及成绩。


Sample Input

5
10002130201 90
10002130230 80
10002130231 85
10002130148 48
10002130167 90

Sample Output



10002130167 90
10002130201 90
10002130231 85
10002130230 80
#include<stdio.h>
struct Student
{
int a[12];
int num;
};
int main()
{
struct Student stu[101],temp;
int i,j,k,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d",stu[i].a,&stu[i].num);
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{if(stu[j].num>stu[k].num)
{k=j;
temp=stu[k];stu[k]=stu[i];stu[i]=temp;}
if(stu[j].num==stu[k].num)
{if(stu[j].a<stu[k].a){k=j;
temp=stu[k];stu[k]=stu[i];stu[i]=temp;}
}}}
for(i=0;i<n;i++)
{
if(stu[i].num>=60)
printf("%s %d\n",stu[i].a,stu[i].num);
}
return 0;
}为什么这段代码不起作用呢if(stu[j].num==stu[k].num)
{if(stu[j].a<stu[k].a){k=j;
temp=stu[k];stu[k]=stu[i];stu[i]=temp;}
}}}
...全文

相关推荐

C语言学生成绩统计

录入学生的信息,并且保存到一个磁盘文件。可以录入学生的平时成绩和考试成绩,并统计学生的总成绩(计算方法:总成绩=考试成绩*80%+平时成绩20%)。按照总成绩对学生进行排序,查询某个学生的成绩(按照学号、姓名、成绩等关键词进行查询)。制定学生信息至少包括:学号、姓名、班级、成绩等内容。

悟り

设计一个应用程序,用于学生成绩的输入,要求能输入学生姓名、学号、性别以及3门课程成绩。在该程序中要用到的控件:静态文本、编辑框(单行和多行)、单选框、复选框、组框、按钮等,结果如附件程序。

设计一个应用程序,用于学生成绩的输入,要求能输入学生姓名、学号、性别以及3门课程成绩。在该程序中要用到的控件:静态文本、编辑框(单行和多行)、单选框、复选框、组框、按钮等,结果如附件程序。

fuxueping100

实现学生的学号成绩录入修改显示

一年一班共有n名学生,编程实现对该班学生成绩的管理: 数据项:学号、姓名、语文、数学 功能:录入、查询、统计

qq_29106057

输出学生成绩(C语言)

判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小练习 判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小练习 判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小练习

巴扎黑t

c语言作业——学生成绩统计.docx

整个程序功能 (1)学生基本信息(学号、姓名、…….)录入; (2)学生成绩录入; (3)统计学生成绩分布情况(每个分数段人数); (4)查找最高分、最低分;计算学生成绩均值和方差;并输出这四个结果; (5)判断成绩是否服从正态分布; (6)统计不同生源地学生的平均成绩,按平均成绩排序,并输出结果。

南烨
评论 3
收藏 已收藏
分享
返回顶部
cjl1166
新手乐园 33,315 成员 41,769 内容