题目:
考察知识点:
1、关系表达式和逻辑表达式的使用。
2、for循环和嵌套if实现多分支结构程序设计。
3、for循环结构程序设计。
4、循环嵌套程序设计。
解题思路:
定义整型数据:学生人数,各个学生的成绩,各等级人数(初始化为0)。
定义浮点型数据:各个学生成绩之和,平均分
注:avg = sum / n,因为avg是浮点型,所以sum和n至少有一个为浮点型,否则相除后结果为整型。
输入学生人数n(正整数)和n个学生的成绩(0-100间整数)。
利用for循环嵌套if-else多分支结构实现学生成绩的输入、成绩总和的计算、各等级学生人数的统计。
在for循环外计算平均分,并打印各项数据。
代码:
#include<stdio.h>
int main()
{
int n, score, A=0, B=0, C=0, D=0, E=0;//学生人数,各个学生的成绩,各等级人数(初始化为0)
double sum = 0, avg;//各个学生成绩之和,平均分
printf("输入学生人数:\n");
scanf("%d", &n);
printf("n个学生的成绩(0 - 100间整数):\n");
for (int i = 0; i < n; i++)//利用循环输入学生成绩并计算成绩总和,统计各等级学生人数
{
scanf("%d", &score);//输入n个学生的成绩
sum = sum + score;//计算成绩总和
if (score >= 90 && score <= 100)
A++;
else if (score >= 80 && score <= 89)
B++;
else if (score >= 70 && score <= 79)
C++;
else if (score >= 60 && score <= 69)
D++;
else
E++;
}
avg = sum / n;//计算平均分
printf("A等级学生人数:%d\n", A);
printf("B等级学生人数:%d\n", B);
printf("C等级学生人数:%d\n", C);
printf("D等级学生人数:%d\n", D);
printf("E等级学生人数:%d\n", E);
printf("学生平均分:%.2f\n",avg);
return 0;
}