生成一个C语言编写的运动会分数统计程序,该程序将结果输出到一个文本文件中。
时间: 2024-12-20 21:24:05 浏览: 27
在C语言中,我们可以编写一个简单的程序来统计运动会比赛得分并将其保存到一个文本文件中。以下是一个基本的示例,假设我们有田径项目和篮球项目,并且每个参赛者都有各自的得分:
```c
#include <stdio.h>
#include <string.h>
// 定义结构体存储运动员信息
typedef struct {
char name[50];
int track_score;
int basketball_score;
} Athlete;
void addAthlete(Athlete* athletes, int* count) {
printf("请输入运动员姓名、田径得分和篮球得分:\n");
scanf("%s%d%d", athletes[*count].name, &athletes[*count].track_score, &athletes[*count].basketball_score);
(*count)++;
}
void saveToFile(const char* filename, Athlete athletes[], int count) {
FILE* file = fopen(filename, "w");
if (file != NULL) {
for (int i = 0; i < count; i++) {
fprintf(file, "%s田径得分: %d 篮球得分: %d\n", athletes[i].name, athletes[i].track_score, athletes[i].basketball_score);
}
fclose(file);
printf("数据已成功保存到文件 %s。\n", filename);
} else {
printf("无法打开文件 %s 以写入。\n", filename);
}
}
int main() {
const int MAX_ATHLETES = 10;
Athlete athletes[MAX_ATHLETES];
int numAthletes = 0;
// 添加运动员到数组
while (numAthletes < MAX_ATHLETES) {
addAthlete(athletes, &numAthletes);
}
// 保存到文件
saveToFile("scores.txt", athletes, numAthletes);
return 0;
}
```
在这个程序中,用户可以输入运动员的信息,直到达到最大数量限制(这里是10人)。然后,所有的成绩会按照添加的顺序写入到名为"scores.txt"的文件中。
阅读全文