1478 Problem A总成绩排序(结构体专题)——软四课堂小测试2——2017-12-22
来源:互联网 发布:在手机淘宝上如何开店 编辑:程序博客网 时间:2024/06/02 00:00
题目描述
有一学生成绩表,包括学号、姓名、3门课程成绩。请按如下规则排序:按总成绩降序排序,若总成绩相同,则按姓名升序排序。
输入
首先输入一个整数n(1<=n<=100),表示学生人数;
然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。
输出
输出排序后的成绩单,格式见输出样例。
样例输入
3541207010188 Zhangling 89 78 95541207010189 Wangli 85 87 99541207010190 Fangfang 89 88 85
样例输出
541207010189 Wangli 85 87 99 271541207010190 Fangfang 89 88 85 262541207010188 Zhangling 89 78 95 262
/*这题应先按姓名进行升序排列,然后再按成绩进行降序排列,不然会不太好实现*/
#include<stdio.h>
#include<string.h>
struct student
{
long long num;
char name[20];
int a;
int b;
int c;
int sum;
};
int main()
{
int n,i,j;
scanf("%d",&n);
struct student s[n],t;
for(i=0;i<n;i++)
{
scanf("%lld %s %d %d %d",&s[i].num,s[i].name,&s[i].a,&s[i].b,&s[i].c);
}
for(i=0;i<n;i++)
{
s[i].sum=s[i].a+s[i].b+s[i].c;
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(strcmp(s[j].name,s[j+1].name)>0)//使用冒泡排序,先按姓名进行升序排列
{
t=s[j];
s[j]=s[j+1];
s[j+1]=t;
}
}
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(s[j].sum<s[j+1].sum)//使用冒泡排序,再按成绩进行降序排列
{
t=s[j];
s[j]=s[j+1];
s[j+1]=t;
}
}
}
for(i=0;i<n;i++)
{
printf("%lld %s %d %d %d %d\n",s[i].num,s[i].name,s[i].a,s[i].b,s[i].c,s[i].sum);
}
}
/**************************************************************
Problem: 1478
User: 171530425
Language: C
Result: 正确
Time:0 ms
Memory:1092 kb
****************************************************************/
阅读全文
0 0
- 1478 Problem A总成绩排序(结构体专题)——软四课堂小测试2——2017-12-22
- 三种方法:1472 Problem B选票统计(一)(结构体专题)——软四课堂小测试2——2017-12-22
- 1474 Problem D查询记录(结构体专题)——软四课堂小测试——2017-12-21
- ZZULI-1194: 总成绩排序(结构体专题)
- 1194: 总成绩排序(结构体专题)
- 第二周项目3—按总成绩排序
- ZZULI-1193: 单科成绩排序(结构体专题)
- 1193: 单科成绩排序(结构体专题)
- 专题四 Problem A
- 专题四 Problem A
- 结构体—根据学生的成绩从高到低排序
- 1180: 成绩统计(结构体专题)
- 课程练习四—problem A
- 成绩排序(结构体)
- 专题三Problem—1015
- 结构体——学生成绩统计
- 第一周—2.成绩结构体
- 翻转课堂学习总结集—2015级
- List的clear()方法和removeAll()方法 的区别
- VMware虚拟机安装
- Linux系统中编译boost 1.65.1库的方法
- 数据结构实验之查找四:二分查找
- 关于sql中逻辑主键和业务主键的理解
- 1478 Problem A总成绩排序(结构体专题)——软四课堂小测试2——2017-12-22
- C 数据结构 笔记(四) —— 队列
- Linux inode、block、文件类型、软硬链接等相关文件的知识
- 使用GitExt将本地项目连接远程Git码云
- 在VM虚拟机中安装Centos操作系统
- Number of Longest Increasing Subsequence
- 四大检索工具 和 论文查找网址大全
- 数据结构实验之排序六:希尔排序
- vuex的几个实用的指令