输入多个学生某一科的成绩c语言
时间: 2023-09-07 14:12:00 浏览: 75
好的,我可以通过以下代码来实现:
```
#include <stdio.h>
int main() {
int num;
printf("请输入学生人数:");
scanf("%d", &num);
float scores[num];
for (int i = 0; i < num; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%f", &scores[i]);
}
printf("学生的成绩为:\n");
for (int i = 0; i < num; i++) {
printf("第%d个学生的成绩为%.2f\n", i + 1, scores[i]);
}
return 0;
}
```
以上代码可以让用户输入学生的人数,然后依次输入每个学生的成绩,并将这些成绩存储在一个数组中。最后,程序会输出每个学生的成绩。在这个例子中,我们使用了一个 float 类型的数组来存储成绩,使用 for 循环来遍历数组并读取/输出每个元素。
相关问题
c语言怎么输入多个学生的成绩
在C语言中,为了输入多个学生的成绩,你可以使用循环结构来读取每个学生的成绩,直到用户表示结束。以下是一个简单的示例,使用`while`循环:
```c
#include <stdio.h>
#define MAX_STUDENTS 10 // 定义最大学生数
int main() {
int num_students, score;
char done;
printf("请输入学生人数(最多 %d 人):", MAX_STUDENTS);
scanf("%d", &num_students);
// 初始化表示是否完成输入的标志
done = 'n';
while (done != 'y') { // 只要用户未输入'y'表示完成
for (int i = 1; i <= num_students && i > 0; i++) {
printf("请输入第 %d 位同学的成绩:", i);
scanf("%d", &score);
printf("学生成绩: %d\n", score); // 打印输入的成绩
}
// 询问用户是否还有更多学生
printf("是否还要输入其他学生的成绩?(y/n): ");
getchar(); // 清除缓冲区,防止上一行的'\n'影响后续输入
scanf(" %c", &done); // 使用空格去除前导字符
}
return 0;
}
```
在这个程序里,用户会被提示输入学生人数,然后依次输入每位学生的成绩,直到他们输入'y'表示所有学生都已输入完毕。
c语言输入多个学生的成绩,用for循环
在C语言中,如果你想要输入多个学生的成绩并使用for循环处理,你可以这样做:
```c
#include <stdio.h>
int main() {
int num_of_students;
// 提示用户输入学生人数
printf("请输入学生人数:");
scanf("%d", &num_of_students);
// 创建数组存储成绩
int scores[num_of_students];
// 使用for循环输入每个学生的成绩
for (int i = 0; i < num_of_students; i++) {
printf("请输入第 %d 位学生的成绩:", i + 1);
scanf("%d", &scores[i]);
}
// 打印所有学生的成绩
printf("所有学生的成绩为:\n");
for (int i = 0; i < num_of_students; i++) {
printf("学生%d 的成绩:%d\n", i + 1, scores[i]);
}
return 0;
}
```
在这个程序中,我们首先获取学生总数,然后创建一个大小等于这个数目的数组来存储成绩。接着,使用两层for循环分别用于输入和打印成绩,外层循环控制学生数量,内层循环负责接收输入。
阅读全文