c语言求分数等级的问题

img


zjdusuwhahjsjdzjsjjejrnd
看了没有什么思路一直打错求解呀

供参考:

#include<stdio.h>
#define M 10001
const char rank[7] = "XEDCBA";
int main()
{
    int N, i, cnt, ret;
    float x[M] = { 0 };
    scanf("%d", &N);
    for (i = 0; i < N; i++)
        scanf("%f", &x[i]);
    for (i = 0, cnt = 0; i < N; i++)
    {
        ret = (1 * (x[i] >= 0  && x[i] < 60)  +
               2 * (x[i] >= 60 && x[i] < 70)  +
               3 * (x[i] >= 70 && x[i] < 80)  +
               4 * (x[i] >= 80 && x[i] < 90)  +
               5 * (x[i] >= 90 && x[i] <= 100));
        if (ret == 0) cnt++;
        printf("%c\n", rank[ret]);
    }
    printf("%d", cnt);
    return 0;
}

switch case或者if else不就行,注意分数那里要用浮点型就行


#include <iostream>
using namespace std;
int a[1005];
int num = 0;//错误的次数 
int main()
{
    int n;
    cin>>n;//理解成scanf 
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]>=90&&a<=100)
        {
            cout<<"A"<<endl;
        }else if(a[i]>=80&&a[i]<90)
        {
            cout<<"B"<<endl;
        }else if(a[i]>=70&&a[i]<80)
        {
            cout<<"C"<<endl;
        }else if(a[i]>=60&&a[i]<70)
        {
            cout<<"D"<<endl;
        }else if(a[i>=0&&a[i]<60]){
            cout<<"E"<<endl;
        }else{
            cout<<"X"<<endl;
            num++;
        }
        
    }
    cout<<num;
}

无非用if语句而已,c++写的快一些,用的是C++
cin是输入
cout是输入
endl是换行
有用记得采纳呐