算法竞赛入门经典 习题3-1 分数统计(stat)
2017-01-15 22:38
295 查看
习题3-1 分数统计(stat)
输入一些学生的分数,哪个分数出现的次数最多?如果有多个并列,从小到大输出。
任务1:分数均为不超过100的非负整数。
任务2:分数均为不超过100的非负实数,但最多保留两位小数。
题目说的并不是很清楚啊,我就自己定了个格式。先输入一个n,后面接n个分数。任务一和任务二一个整数一个实数,没看出有什么区别,就数组类型不一样吧。可能有什么我没想到的。
我的代码:
输入一些学生的分数,哪个分数出现的次数最多?如果有多个并列,从小到大输出。
任务1:分数均为不超过100的非负整数。
任务2:分数均为不超过100的非负实数,但最多保留两位小数。
题目说的并不是很清楚啊,我就自己定了个格式。先输入一个n,后面接n个分数。任务一和任务二一个整数一个实数,没看出有什么区别,就数组类型不一样吧。可能有什么我没想到的。
我的代码:
#include <iostream> using namespace std; double score[1000+10]; int main() { bool flag = false; int n,i,j,max=0; double v; cin>>n; for(i=0;i<n;i++) cin>>score[i]; for(i=0;i<n;i++) { j = i-1; v = score[i]; while(j>=0&&score[j]>v) { score[j+1] = score[j]; j--; } score[j+1] = v; } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(score[j]!=score[i]) break; } if(j-1-i>max) max = j-1-i; i = j-1; } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(score[j]!=score[i]) break; } if(j-1-i==max) { if(flag) cout<<' '; flag = true; cout<<score[i]; } i = j-1; } cout<<endl; return 0; }
相关文章推荐
- 算法竞赛入门经典-课后练习-3-1-2分数统计
- 算法竞赛入门经典 习题2-10
- 算法竞赛入门经典 习题2-3剩余数定理+最大公约数/最小公倍数
- 算法竞赛入门经典 习题2-5
- 算法竞赛入门经典:习题3-8 手机键盘(keyboard)
- 刘汝佳算法竞赛入门经典 第二单元习题答案自编
- 「算法竞赛入门经典 第二版」第 1、2章 循环结构程序设计 习题解答
- 算法竞赛入门经典:第七章 暴力求解法 7.3分数拆分
- 【算法竞赛入门经典】【第三章】课后习题(第一部分)
- 【算法竞赛入门经典】【第一章】课后习题
- 算法竞赛入门经典 习题3-7 n进制转十进制
- 算法竞赛入门经典第一章习题解答
- 刘汝佳算法竞赛入门经典 第四单元习题答案自编
- 算法竞赛入门经典:第八章 高效算法设计 8.8二分查找之范围统计
- 算法竞赛入门经典2-5统计
- 算法竞赛入门经典 习题3-3乘积的末3位
- 算法竞赛入门经典 习题2-10排列数字1~9形成1:2:3的等比数列
- 算法竞赛入门经典 习题笔记
- 算法竞赛入门经典习题集
- 算法竞赛入门经典 习题2-10 排列(permutation)