下面是一个使用C语言从文件读入学生成绩的示例代码:

#include <stdio.h>

#define MAX_STUDENTS 100

struct Student {
    char name[100];
    int score;
};

int main() {
    struct Student students[MAX_STUDENTS];
    int numStudents = 0;
    FILE *file = fopen('scores.txt', 'r');

    if (file == NULL) {
        printf("无法打开文件。\n");
        return 1;
    }

    while (fscanf(file, "%s %d", students[numStudents].name, &students[numStudents].score) == 2) {
        numStudents++;
    }

    fclose(file);

    printf("读取到的学生成绩如下:\n");
    for (int i = 0; i < numStudents; i++) {
        printf("姓名:%s\t成绩:%d\n", students[i].name, students[i].score);
    }

    return 0;
}

假设我们有一个名为'scores.txt'的文本文件,其内容如下:

John 90
Alice 85
Bob 77

运行上述代码将输出:

读取到的学生成绩如下:
姓名:John	成绩:90
姓名:Alice	成绩:85
姓名:Bob	成绩:77

代码中,我们定义了一个struct Student结构体来表示学生的姓名和成绩。我们还定义了一个students数组来存储所有学生的信息。numStudents变量用于记录读取到的学生数量。

我们使用fopen函数打开名为'scores.txt'的文件。如果文件打开失败,我们将输出一条错误消息并返回。接着,我们使用fscanf函数来逐行读取文件内容,并将学生的姓名和成绩存储到students数组中。每次成功读取一行,numStudents自增1。

最后,我们使用fclose函数关闭文件,并遍历students数组,输出每个学生的姓名和成绩。


原文地址: https://www.cveoy.top/t/topic/pmOA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录