算法提高 分数统计  
时间限制:1.0s   内存限制:512.0MB
    
问题描述
  2016.4.5已更新此题,此前的程序需要重新提交。
问题描述
  给定一个百分制成绩T,将其划分为如下五个等级之一:
  90~100为A,80~89为B,70~79为C,60~69为D,0~59为E
  现在给定一个文件inp,文件中包含若干百分制成绩(成绩个数不超过100),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成绩(保证人数最多的等级只有一个)。要求输出到指定文件oup中。
输入格式
  若干0~100的正整数,用空格隔开
输出格式
  第一行为5个正整数,分别表示A,B,C,D,E五个等级段的人数
  第二行一个正整数,表示人数最多的等级段中人数
  接下来一行若干个用空格隔开的正整数,表示人数最多的那个等级中所有人的分数,按从大到小的顺序输出。
样例输入
100 80 85 77 55 61 82 90 71 60
样例输出
2 3 2 2 1
3
85 82 80
 
作者注释:蓝桥杯的后台编译时其实有N——表输入N个0~100的正整数即分数。
正确代码:
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <string.h>
  4. int num[];
  5. using namespace std;
  6. int main()
  7. {
  8. int n,i = ,sum;
  9. int temp[][],dp[] = {,,,,};
  10. memset(temp,,sizeof(temp));
  11. cin>>sum;
  12. for(;i < sum;i++)
  13. {
  14. cin>>num[i];
  15. for(int j = ;j < ;j++)
  16. {
  17. if(num[i] >= dp[j])
  18. {
  19. temp[j][++temp[j][]] = num[i];
  20. break;
  21. }
  22. }
  23. }
  24. int maxn = ,maxl = ;
  25. for(int t = ;t < ;t++)
  26. {
  27. cout<<temp[t][]<<" ";//输出每个等级的人数
  28. if(maxn < temp[t][])
  29. {
  30. maxn = temp[t][];
  31. maxl = t;
  32. }
  33. }
  34. cout<<endl<<maxn<<endl;
  35. sort(temp[maxl]+,temp[maxl]+temp[maxl][]+);
  36. for(int t = temp[maxl][];t >= ;t--)
  37. cout<<temp[maxl][t]<<" ";
  38. return ;
  39. }
 
错误代码:
  1. #include<stdio.h>
  2. int main(){
  3. int n;
  4. int a=,b=,c=,d=,e=;
  5. scanf("%d",&n);
  6. int score[n];
  7. int a1[][n];
  8. for(int i=;i<;i++){
  9. a1[i][]=;
  10. }
  11. for(int i=;i<n;i++){
  12. scanf("%d",&score[i]);
  13. if(score[i]>=){
  14. a1[][a]=score[i];
  15. a1[][]++;
  16. a++;
  17. }
  18. else if(score[i]>= && score[i]<){
  19. a1[][b]=score[i];
  20. a1[][]++;
  21. b++;
  22. }
  23. else if(score[i]>= && score[i]<){
  24. a1[][c]=score[i];
  25. a1[][]++;
  26. c++;
  27. }
  28. else if(score[i]>= && score[i]<){
  29. a1[][d]=score[i];
  30. a1[][]++;
  31. d++;
  32. }
  33. else if(score[i]<){
  34. a1[][e]=score[i];
  35. a1[][]++;
  36. e++;
  37. }
  38. }
  39. printf("%d %d %d %d %d\n",a1[][],a1[][],a1[][],a1[][],a1[][]);
  40.  
  41. /*对各个等级人数进行冒泡降序*/
  42. for(int i=; i<-; i++){
  43. for(int j=; j<--i; j++){
  44. /*降序*/
  45. if(a1[j][]<a1[j+][]){
  46. int t = a1[j][];
  47. a1[j][] = a1[j+][];
  48. a1[j+][] = t;
  49. }
  50. }
  51. }
  52. printf("%d\n",a1[][]);
  53. for(int i=;i<=a1[][];i++){
  54. printf("%d ",a1[][i]);
  55. }
  56. }
 

C语言 · 分数统计的更多相关文章

  1. java语言实现对程序设计语言源文件统计字符数、单词数、行数及其他拓展功。

    本次作业Github项目地址:https://github.com/YiChenglong2018/WordCount 一.项目简介 本项目的需求可以概括为:对程序设计语言源文件统计字符数.单词数.行 ...

  2. Java实现 蓝桥杯VIP 算法提高 分数统计

    算法提高 分数统计 时间限制:1.0s 内存限制:512.0MB 问题描述 2016.4.5已更新此题,此前的程序需要重新提交. 问题描述 给定一个百分制成绩T,将其划分为如下五个等级之一: 9010 ...

  3. 用C语言实现统计一个文件夹中各种文件的比例

    <UNIX环境高级编程>中的程序清单4-7就介绍了如何实现递归地统计某个目录下面的文件!我刚开始看过它的代码后,觉得照着敲太没意思了,所以就合上书自己写了一遍!为此还写了一篇博文,这是博文 ...

  4. R语言︱常用统计方法包+机器学习包(名称、简介)

    一.一些函数包大汇总 转载于:http://www.dataguru.cn/thread-116761-1-1.html 时间上有点过期,下面的资料供大家参考基本的R包已经实现了传统多元统计的很多功能 ...

  5. C语言词频统计设计

    项目需求: 1.设计一个词频统计小软件,对给定的英文文章进行单词频率的统计. 2.文章中相应的标点不计入统计. 3.将统计结果以从大到小的排序方式输出. 设计: 1.因为功能相对简单,采用C语言直接进 ...

  6. C语言:统计整型变量m中各数字出现的次数,-去掉一个最高分和一个最低分,然后求平均值,(注意最低分和最高分可能有多个数并列)

    //统计整型变量m中各数字出现的次数,并存放在数组a中,其中,a[0]存放0出现的次数,a[1]存放1出现的次数. #include <stdio.h> ]) { int i; ; i&l ...

  7. R语言 ETL+统计+可视化

    这篇文章...还是看文章吧 导入QQ群信息,进行ETL,将其规范化 计算哪些QQ发言较多 计算一天中哪些时段发言较多 计算统计内所有天的日发言量 setwd("C:/Users/liyi/D ...

  8. C语言实现统计字符个数

    #include<stdio.h> int main() {     int sz[10]={0},zm[26]={0},z[26]={0},i,space=0,e=0,t=0;      ...

  9. C++语言,统计一篇英文文章中的单词数(用正则表达式实现)

    下面的例子展示了如何在C++11中,利用regex_search()统计一篇英文文章中的单词数: #include <iostream> #include <regex> #i ...

随机推荐

  1. HDUOJ-----1166敌兵布阵

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  2. HDUOJ-----2068RPG的错排

    RPG的错排 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  3. 理解ROC和AUC

    分类器各种各样,如何评价这些分类器的性能呢?(这里只考虑二元分类器,分类器的输出为概率值) 方法一:概率定义法 从正样本中随机选取元素记为x,从负样本中随机选取元素记为y,x的置信度大于y的概率 计算 ...

  4. 【LeetCode】51. N-Queens

    N-Queens The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no tw ...

  5. 解决修改计算机名后tfs连接不上的错误

    1,用vs 自带的工具命令 tf workspaces 查看集合 2,执行命令: >tf workspaces /collection:https://aaaa.visualstudio.com ...

  6. X-Forwarded-For的一些理解

    X-Forwarded-For 是一个 HTTP 扩展头部,主要是为了让 Web 服务器获取访问用户的真实 IP 地址(其实这个真实未必是真实的,后面会说到). 那为什么 Web 服务器只有通过 X- ...

  7. python学习笔记013——模块

    1 模块module 1.1 模块是什么 模块是包含一系列的变量,函数,类等程序组 模块通常是一个文件,以.py结尾 1.2 模块的作用 1. 让一些相关的函数,变量,类等有逻辑的组织在一起,使逻辑更 ...

  8. Interface_GL通过gl_interface导入日记账(案例)

    2014-06-17 BaoXinjian

  9. Unity3D中组件事件函数的运行顺序

    事件函数的运行顺序 Unity 脚本中有很多按预设顺序以脚本身份执行的事件函数. 其执行顺序例如以下: 载入第一个场景 启动场景时调用这些函数(为场景中的每一个对象调用一次). Awake: 始终在调 ...

  10. System Generator简介

    前言 System generator 安装之后会在Simulin模块库中添加一些Xilinx FPGA专用的模块库,包括Basic Element,Communication,Control Log ...