统计学生成绩:输入一个正整数n,再输入n个学生的成绩,统计五分制成绩的分布。分制成绩到五分制成绩的转换规则:大于等于90分为A,小于90且大于等于80为B,小于80且大于等于70为C,小于70且大于等于60为D,小于60为E。试编写相应程序。
/*
统计学生成绩
作者: 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;
}