C语言程序设计(第三版)何钦铭著 习题3-4
题目
统计学生成绩∶
输入一个正整数n,再输入n个学生的成绩,统计五分制成绩的分布。
百分制成绩到五分制成绩的转换规则∶
大于或等于90 分为A,
小于90分且大于或等于80分为B,
小于80分且大于或等于70为C,
小于70分且大于或等于 60为 D,
小于 60 分为 E。
试编写相应程序。
分析过程
输入
条件:输入一个正整数n,再输入n个学生的成绩
输出
条件:输出统计五分制成绩的分布
代码
#include <stdio.h>
int main () {
/*定义变量*/
int n; /*定义变量,存储输入的整数n*/
int grade; /*定义变量,存储输入的某学生成绩*/
int arr[5] = {
0}; /*定义变量,存储统计A、B、C、D、E五个等级人数*/
/*赋值*/
printf("请输入整数n:\n"); /*输入提示*/
scanf("%d\n", &n); /*输入并赋给变量*/
/*计算*/
for(int i = 0; i < n; i++){
printf("输入第%d个学生成绩:\n", i+1); /*输入提示*/
scanf("%d\n", &grade); /*输入并赋给变量*/
if(grade>=90)arr[0]++; /*成绩为A等级*/
else if(grade<90&&grade>=80) arr[1]++; /*成绩为B等级*/
else if(grade<80&&grade>=70) arr[2]++; /*成绩为C等级*/
else if(grade<70&&grade>=60) arr[3]++; /*成绩为D等级*/
else arr[4]++; /*成绩为E等级*/
}
/*输出计算结果*/
printf("A:%d,B:%d,C:%d,D:%d,E:%d\n", arr[0], arr[1], arr[2], arr[3], arr[4]);/*输出提示*/
return 0;
}