有多个成绩会被输入进去,怎么写循环
时间: 2024-09-30 08:13:25 浏览: 12
如果你想编写一个程序来接受并处理多个成绩(例如学生的分数),你可以使用for循环或while循环。这里有一个基本的例子,使用`scanf`函数读取分数,并存储在一个数组中。假设我们只有一个变量来计算总分:
```c
#include <stdio.h>
#define MAX_SCORES 10 // 可能要输入的最大成绩数量
int main() {
int scores[MAX_SCORES]; // 存放成绩的数组
int num_scores = 0; // 记录输入的成绩数量
printf("请输入分数(输入'q'结束):\n");
for (int i = 0; i < MAX_SCORES && strcmp(input, "q") != 0; i++) { // 循环直到达到最大次数或用户输入"q"
char input[5];
scanf("%s", input); // 读取输入
if (strcmp(input, "q") == 0) break; // 用户输入"q"时退出循环
int score;
if (sscanf(input, "%d", &score) == 1) { // 如果成功解析为整数
scores[num_scores++] = score; // 将分数添加到数组
} else {
printf("错误!请输入一个数字。\n"); // 如果不是数字,提示错误并继续下一轮
}
}
// 统计总分和平均分
int total_score = 0;
for (int i = 0; i < num_scores; i++) {
total_score += scores[i];
}
float average_score = (float)total_score / num_scores;
printf("总分: %d\n", total_score);
printf("平均分: %.2f\n", average_score);
return 0;
}
```
在这个例子中,用户可以通过输入"q"来结束输入,程序会计算输入的分数总数和平均值。
阅读全文