llf123456 发表于 2020-11-22 11:37:43

求助

本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
#include <stdio.h>
int main()
{
        int N,i,n,A,B,C,D,E;
        A=B=C=D=E=0;
        scanf("%d",&N);
        for(i=1;i<=N;i++)
        {
                scanf("%d",&i);
                n=i/10;
        switch(n){
        case 10:
        case 9:A++;break;
        case 8:B++;break;
        case 7:C++;break;
    case 6:D++;break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:E++;break;
    }
    }
    printf("%d %d %d %d %d",A,B,C,D,E);
}
//请问哪里有错

芦蓬蓬的小叶子 发表于 2020-11-22 12:18:08

#include <stdio.h>
int main()
{
    int N,i,n,score,A,B,C,D,E;//定义分数变量score
    A=B=C=D=E=0;
    scanf("%d",&N);
    for(i=1;i<=N;i++)
    {
      scanf("%d",&score);//变量指定错误
      n=score/10;
      switch(n){
            case 10:
            case 9:A++;break;
            case 8:B++;break;
            case 7:C++;break;
            case 6:D++;break;
            case 5:
            case 4:
            case 3:
            case 2:
            case 1:
            case 0:E++;break;
      }
    }
    printf("%d %d %d %d %d",A,B,C,D,E);
}

jackz007 发表于 2020-11-22 14:49:50

      你确定循环变量可以这样用?
      for(i = 1 ; i <= N ; i++) {
                scanf("%d" , & i) ;
页: [1]
查看完整版本: 求助