C语言分数统计

这篇博客介绍了如何使用C语言解决一个分数统计问题,将百分制成绩划分为A到E五个等级,并统计各等级人数。博主给出了解题思路,包括创建数组存储不同等级的成绩,找出人数最多的等级,然后对这个等级的成绩进行排序输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。

题目:

题目链接:https://www.dotcpp.com/oj/problem1500.html

题目 1500: [蓝桥杯][算法提高VIP]分数统计

时间限制: 1Sec 内存限制: 128MB 提交: 1541 解决: 709

题目描述
给定一个百分制成绩T,将其划分为如下五个等级之一:
90100为A,8089为B,7079为C,6069为D,0~59为E
现有若干百分制成绩(成绩个数不超过1000个),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成绩(保证人数最多的等级只有一个)。
输入
第一行是成绩的个数 n
第二行是学生的成绩,若干0~100的正整数,用空格隔开

输出
第一行为5个正整数,分别表示A,B,C,D,E五个等级段的人数
第二行一个正整数,表示人数最多的等级段中人数
接下来一行若干个用空格隔开的正整数,表示人数最多的那个等级中所有人的分数,按从大到小的顺序输出。
样例输入
10
100 80 85 77 55 61 82 90 71 60
样例输出
2 3 2 2 1
3
85 82 80

C语言解法

思路:

1.一个很正常的输入,根据输入的n创建5个数组来存储相应等级的分数,并在读取输入的时候就进行判断以将数据放进相应等级的数组
2.输入完成,这时已经有了5个数组并且我们知道其长度

  • 这时我们分为两步,1是找出这五个长度中的最大值,这里我直接用了暴力的if判断,应有更简单的方法
  • 对长度最大的数组进行排序并输出

注意:1.注意输出格式.2.排序并输出数组的部分明显是重复的,可以抽象成一个函数以便调用


#include <stdio.h>

int main()
{
   
    int n, temp = 0;
    scanf("%d", &n);
    int a[n], b[n], c[n], d[n], e[n];
    int ac = 0, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值