用c语言编写一个程序,要求输入一个班10个学生的学号姓名和每个学生考试四门课程(程序设计、数据库、网络基础、英语)的成绩,保存到文件中。
时间: 2024-03-09 13:48:16 浏览: 96
好的,我可以为您提供一份示例代码,具体如下:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_STUDENTS 10
#define MAX_NAME_LENGTH 20
typedef struct {
int id;
char name[MAX_NAME_LENGTH];
int scores[4];
} Student;
int main() {
FILE* fp;
Student students[MAX_STUDENTS];
int i, j;
// 读取输入的学生信息
for (i = 0; i < MAX_STUDENTS; i++) {
printf("Please enter information for student %d:\n", i + 1);
printf("ID: ");
scanf("%d", &students[i].id);
printf("Name: ");
scanf("%s", students[i].name);
printf("Scores for 4 courses:\n");
for (j = 0; j < 4; j++) {
printf("Course %d: ", j + 1);
scanf("%d", &students[i].scores[j]);
}
}
// 将学生信息保存到文件中
fp = fopen("students.txt", "w");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
for (i = 0; i < MAX_STUDENTS; i++) {
fprintf(fp, "%d %s %d %d %d %d\n", students[i].id, students[i].name,
students[i].scores[0], students[i].scores[1], students[i].scores[2], students[i].scores[3]);
}
fclose(fp);
return 0;
}
```
这段代码中,`Student` 是一个结构体,包含学生的学号、姓名和四门课程的成绩。我们首先通过循环读取输入的学生信息,然后将学生信息保存到文件中。在文件中,每行保存一个学生的信息,包括学号、姓名和四门课程的成绩,以空格分隔。
希望这个示例代码对您有所帮助!
阅读全文