编写程序,输入一批学生的成绩,遇负数表示输入结束,要求统计并输出各等级成绩的学生个数。成绩等级分为三级,分别为A(90~100)、P(60~89)、F(0~59)。
输入格式:
输入一批整数,以负数结束。
输出格式:
A等级数量,B等级数量,C等级数量
输入样例:
在这里给出一组输入。例如:
65 78 89 96 43 71 90 -1
输出样例:
在这里给出相应的输出。例如:
A等级2人
P等级4人
F等级1人
C语言:
#include <stdio.h>
int main() {
int score;
int count_A = 0, count_P = 0, count_F = 0;
printf("请输入学生的成绩(以负数结束):\n");
while (1) {
scanf("%d", &score);
if (score < 0) {
break; // 输入负数表示结束
}
if (score >= 90 && score <= 100) {
count_A++;
} else if (score >= 60 && score <= 89) {
count_P++;
} else if (score >= 0 && score <= 59) {
count_F++;
}
}
printf("A等级%d人\n", count_A);
printf("P等级%d人\n", count_P);
printf("F等级%d人\n", count_F);
return 0;
}
这段 C 语言程序的设计思路如下:
1. **输入学生成绩:** 使用 `scanf` 函数从标准输入(通常是键盘)读取学生成绩,直到输入负数为止。
2. **判断成绩等级:** 使用 `if-else` 语句对输入的成绩进行判断,根据不同的分数范围统计 A 等级(90-100 分)、P 等级(60-89 分)、F 等级(0-59 分)的学生数量。
3. **循环控制:** 使用 `while (1)` 构建一个无限循环,通过 `break` 语句在输入负数时结束循环。
4. **输出结果:** 使用 `printf` 函数输出各等级学生的数量。
通过这个程序,我们可以学到以下几个编程的重要思路和概念:
- **循环结构:** 使用 `while (1)` 构建了一个无限循环,通过 `break` 来控制循环结束。
- **条件判断:** 使用 `if-else` 语句对不同的条件进行判断,实现不同情况下的处理。
- **变量和运算:** 使用变量 `count_A`、`count_P`、`count_F` 统计不同等级学生的数量,并通过算术运算进行累加。
- **输入输出:** 使用 `scanf` 进行输入,`printf` 进行输出。
这个程序是一个简单的成绩统计程序,但它展示了常见的编程思路和结构,适合初学者学习和理解。编程不仅仅是语法和代码的书写,更是一种解决问题的思维方式。通过编写这样的小程序,你可以培养逻辑思维和解决问题的能力。