有n(1≤n≤100)个学生的成绩记录,其中包含学号和成绩两项。按照成绩从高到低顺序输出成绩及格(≥60)学生的学号和成绩。成绩相同时按照学号从小到大顺序输出。
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门课程成绩。在该程序中要用到的控件:静态文本、编辑框(单行和多行)、单选框、复选框、组框、按钮等,结果如附件程序。
实现学生的学号成绩录入修改显示
一年一班共有n名学生,编程实现对该班学生成绩的管理: 数据项:学号、姓名、语文、数学 功能:录入、查询、统计
输出学生成绩(C语言)
判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小练习 判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小练习 判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小练习
c语言作业——学生成绩统计.docx
整个程序功能 (1)学生基本信息(学号、姓名、…….)录入; (2)学生成绩录入; (3)统计学生成绩分布情况(每个分数段人数); (4)查找最高分、最低分;计算学生成绩均值和方差;并输出这四个结果; (5)判断成绩是否服从正态分布; (6)统计不同生源地学生的平均成绩,按平均成绩排序,并输出结果。


新手乐园
