首页 > 试题广场 >

统计学生成绩:输入一个正整数n,再输入n个学生的成绩,统计五

[问答题]

统计学生成绩:输入一个正整数n,再输入n个学生的成绩,统计五分制成绩的分布。分制成绩到五分制成绩的转换规则:大于等于90分为A,小于90且大于等于80为B,小于80且大于等于70为C,小于70且大于等于60为D,小于60为E。试编写相应程序。

推荐
#include<stdio.h> 
 int main(void) 
 { 
 int N; 
 int i,x; 
 int a=0,b=0,c=0,d=0,e=0; 
 while(scanf("%d",&N)!=EOF){ 
 for(i=0;i<N;i++){ 
 scanf("%d",&x); 
 if(x>=90){ 
 a++; 
 }else if(x>=80){ 
 b++; 
 }else if(x>=70){ 
 c++; 
 }else if(x>=60){ 
 d++; 
 }else{ 
 e++; 
 } 
 } 
 printf("%d %d %d %d %d\n",a,b,c,d,e); 
 } 
 return 0; 
 } 
发表于 2018-05-06 21:21:46 回复(0)
/*
统计学生成绩 
作者: a1bum 
*/ 

#include<stdio.h>
#include<malloc.h>

int main(){
    int n,i;
    int *grade;
    int level[5] = {0};

    printf("please input count of student: ");
    scanf("%d", &n);
    // 动态分配内存 
    grade = (int *) malloc(sizeof(int)*n);
    // 初始化成绩 
    for( i = 0; i < n; i++ ){
        scanf("%d", &grade[i]);
        printf("%d", grade[i]);
    }
    // 遍历逐个判断 
    for( i = 0; i < n; i++){
        if( grade[i] >= 90 ){
            level[0]++;
        }else if( grade[i] >= 80 ){
            level[1]++;    
        }else if( grade[i] >= 70 ){
            level[2]++;
        }else if( grade[i] >= 60 ){
            level[3]++;
        }else{
            level[4]++;
        }
    }
    // 输出 
    printf("A: %d\nB: %d\nC: %d\nD: %d\nE: %d", level[0], level[1], level[2], level[3], level[4]);

    // 释放动态分配的内存 
    free(grade);
    return 0;
}
发表于 2018-06-05 23:10:58 回复(0)
#include<stdio.h>
int main()
{
int N,score,a;
scanf("%d\n",&N);
int A=0,B=0,C=0,D=0,E=0;
for(a=1;a<=N;a++)
{
scanf("%d",&score);
score=score/10;
switch (score)
{
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:
default :E++;break;
}
}
printf("%d %d %d %d %d",A,B,C,D,E);
return 0;
}
发表于 2020-01-03 20:10:13 回复(0)
#include<stdio.h>
int main()
{
    int n,a,b,c,d,e,x;
    
    scanf("%d",&n);
    a=b=c=d=e=0;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&x);
        if(x>=90)
        a++;
        else if(x>=80)
        b++;
        else if(x>=70)
        c++;
        else if(x>=60)
        d++;
        else e++;
    }
    printf("%d %d %d %d %d",a,b,c,d,e);
    
}
发表于 2021-03-18 15:00:57 回复(0)
#include<stdio.h>
int main()
{
    int a,b,c,d,e,n,i;
    a=b=c=d=e=0;
    double score;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%lf",&score);
        if(score>=90)a++;
        else{
            if(score>=80)b++;
            else{
                if(score>=70)c++;
                else{
                    if(score>=60)d++;
                    else
                        e++;
                }
            }
        }
    }
    printf("A = %d,B = %d,C = %d,D = %d,E = %d",a,b,c,d,e);
    return 0;
}





发表于 2021-02-18 21:28:57 回复(0)
#include <stdio.h>
int main()
{
   int student[1000];
   char score[1000];
   int n,i;
   printf("please input the student number:\n");
   scanf("%d",&n);
   for(i=0;i<n;i++)
   {
       printf("please input the %d score:\n",i+1);
       scanf("%d",&student[i]);
       if(student[i]>=90)
       {
           score[i]='A';
       }else if(student[i]>=80)
       {
           score[i]='B';
       }else if(student[i]>=70)
       {
           score[i]='C';
       }else if(student[i]>=60)
       {
           score[i]='D';
       }else
       {
           score[i]='E';
       }
   }
   printf("他们的水平分别是:\n");
   for(i=0;i<n;i++)
   {
       printf("%c\t",score[i]);
   }
   return 0;
}

发表于 2018-06-25 02:39:13 回复(0)