C语言一次性输入所有学生学号、姓名、英语成绩、网络成绩、C语言成绩、数据库成绩,德育积分
时间: 2023-07-10 12:03:47 浏览: 138
可以使用结构体来存储每个学生的信息,然后使用循环来一次性输入所有学生的信息。具体代码如下:
```c
#include <stdio.h>
#define MAX_STUDENTS 100 // 假设最多有100个学生
struct Student {
char id[20]; // 学号
char name[20]; // 姓名
int english_score; // 英语成绩
int network_score; // 网络成绩
int c_score; // C语言成绩
int database_score; // 数据库成绩
int moral_score; // 德育积分
};
int main() {
struct Student students[MAX_STUDENTS];
int num_students;
printf("请输入学生人数:");
scanf("%d", &num_students);
// 输入每个学生的信息
for (int i = 0; i < num_students; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%s", students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("英语成绩:");
scanf("%d", &students[i].english_score);
printf("网络成绩:");
scanf("%d", &students[i].network_score);
printf("C语言成绩:");
scanf("%d", &students[i].c_score);
printf("数据库成绩:");
scanf("%d", &students[i].database_score);
printf("德育积分:");
scanf("%d", &students[i].moral_score);
}
// 输出所有学生的信息
for (int i = 0; i < num_students; i++) {
printf("第%d个学生的信息:\n", i+1);
printf("学号:%s\n", students[i].id);
printf("姓名:%s\n", students[i].name);
printf("英语成绩:%d\n", students[i].english_score);
printf("网络成绩:%d\n", students[i].network_score);
printf("C语言成绩:%d\n", students[i].c_score);
printf("数据库成绩:%d\n", students[i].database_score);
printf("德育积分:%d\n", students[i].moral_score);
}
return 0;
}
```
在上面的代码中,我们定义了一个结构体`Student`来表示每个学生的信息,包括学号、姓名、英语成绩、网络成绩、C语言成绩、数据库成绩和德育积分。然后我们定义了一个数组`students`来存储所有学生的信息,数组大小为`MAX_STUDENTS`,这里假设最多有100个学生。接着我们输入学生人数`num_students`,然后使用循环输入每个学生的信息。最后我们再使用循环输出所有学生的信息。
注意,在输入学生的姓名和学号时,我们使用了`%s`来读取字符串,但是`scanf`会在读到空格、换行符或制表符时停止读取,因此如果输入的姓名或学号中包含空格、换行符或制表符,可能会导致读取出错。如果需要输入包含空格等特殊字符的字符串,可以使用`fgets`函数来读取。
阅读全文