问题标题: 酷町堂:1057 考试等级

0
0
已解决
曹子浩
曹子浩
新手光能
新手光能

题目链接: 酷町堂:1057

题目描述 Deion

一次考试过后,某老师想通过考试分数划分成绩等级,将成绩分为A,B,C,D档,A为最好,D为最差。并规定,考试成绩在90~100为A档;75~89为B档;60~74为C档;60分以下为D档。已知该班级的人数和每位同学的成绩,求该班级A、B、C、D等级对应的人数占班级总人数比例。

输入描述 Input Deion

输入为2行,第一行为该班级的人数n(0<n≤100),第二行为每位同学的考试成绩(0~100)。

输出描述 Output Deion

按照A、B、C、D等级的顺序输出该等级人数占班级总人数的比例,以百分比的形式输出,精确到小数点后两位。每个等级占一行,共4行。

样例输入 Sample Input

10 65 48 79 63 89 45 81 96 64 89

样例输出 Sample Output

10.00% 40.00% 30.00% 20.00%

#include<iostream>
#include<iomanip>
using namespace std;
int a[199],sum,cnt,mus,tuc;
int main(){
    int m;
    cin>>m;
    for(int i=1;i<=m;i++){
        cin>>a[i];
        if(a[i]>=90&&a[i]<=100)sum++;
        if(a[i]>=75&&a[i]<=90)cnt++;
        if(a[i]>=60&&a[i]<=75)mus++;
        if(a[i]<=60)tuc++;
    }
    printf("%.2f",sum*100.00/m);
    cout<<"%"<<endl;
    printf("%.2f",cnt*100.00/m);
    cout<<"%"<<endl;
    printf("%.2f",mus*100.00/m);
    cout<<"%"<<endl;
    printf("%.2f",tuc*100.00/m);
    cout<<"%";
    return 0;
}


0
已采纳
崔子周
崔子周
高级天翼
高级天翼

同学您好,这道题的思路是输入数组,然后用else if来判断各个分数段,您的for循环里面错了,下面好像也有问题

下面是核心伪代码+其他部分伪代码

定义部分伪代码

输入部分伪代码+核心伪代码

输出部分伪代码

求采纳

我要回答