C语言编程:从键盘输入一个班学生某门课程的成绩,当输入成绩为负值时,输入结束,分别统计下列

2024-11-17 01:35:30
推荐回答(1个)
回答1:

#include 
 
int main() {
    int array[20], length, i;
    int tmp, sum = 0, average;
    int A = 0, B = 0, C = 0, D = 0, cnt = 0;
 
    for (i = 0; ; ++i) {
        scanf("%d", &tmp);
        if (tmp < 0) {
            break;
        }
        array[i] = tmp;
 
        sum += array[i];
        if (array[i] >= 90) {
            ++A;
        } else if (array[i] >= 80) {
            ++B;
        } else if (array[i] >= 60) {
            ++C;
        } else {
            ++D;
        }
    }
    length = i;
 
    //(1)
    putchar('\n');
    printf("%d\n", D);
 
    //(2)
    putchar('\n');
    average = sum/length;
    printf("%d\n", average);
 
    //(3)
    putchar('\n');
    for (i = 0; i < length; ++i) {
        if (array[i] >= average) {
            ++cnt;
        }
    }
    printf("%d\n", cnt);
 
    //(4)
    putchar('\n');
    printf("优秀:%d人,占%%%.2lf\n", A, 1.0*A/length*100);
    printf("良好:%d人,占%%%.2lf\n", B, 1.0*B/length*100);
    printf("一般:%d人,占%%%.2lf\n", C, 1.0*C/length*100);
    printf("不及格:%d人,占%%%.2lf\n", D, 1.0*D/length*100);
 
    return 0;
}