C语言已知数据文件stu.txt中存放了五个学生的信息、姓名、数学、英语、计算机成绩(要求通过写方式打开创建文件);读文件,计算每个学生成绩的平均值,最后将学生数据写入out.txt中去
时间: 2024-06-10 07:05:26 浏览: 149
好的,我明白了。下面是对您的问题的回答:
您可以按照以下步骤来处理这个问题:
1. 打开stu.txt文件,使用"C语言"的方式创建文件:
FILE *fpStu = fopen("stu.txt", "w");
2. 输入五个学生的信息,包括学生姓名、数学成绩、英语成绩和计算机成绩:
fprintf(fpStu, "张三 80 85 90\n");
fprintf(fpStu, "李四 70 75 80\n");
fprintf(fpStu, "王五 90 95 80\n");
fprintf(fpStu, "赵六 80 85 90\n");
fprintf(fpStu, "钱七 70 75 80\n");
3. 关闭stu.txt文件:
fclose(fpStu);
4. 打开stu.txt文件,使用"C语言"的方式读取文件:
FILE *fpStu = fopen("stu.txt", "r");
char szInput[20];
int iMath, iEnglish, iComputer, iCount;
double dMathTotal = 0, dEnglishTotal = 0, dComputerTotal = 0;
while (fgets(szInput, 20, fpStu) != NULL)
{
sscanf(szInput, "%s%d%d%d", &szName, &iMath, &iEnglish, &iComputer);
dMathTotal += iMath;
dEnglishTotal += iEnglish;
dComputerTotal += iComputer;
iCount++;
}
5. 计算每个学生成绩的平均值:
double dMathAverage = dMathTotal / iCount;
double dEnglishAverage = dEnglishTotal / iCount;
double dComputerAverage = dComputerTotal / iCount;
6. 打开out.txt文件,使用"C语言"的方式创建文件:
FILE *fpOut = fopen("out.txt", "w");
7. 将每个学生的信息,平均成绩写入out.txt文件中:
fprintf(fpOut, "张三 %d %d %d %.2lf\n", iMath, iEnglish, iComputer, dMathAverage);
fprintf(fpOut, "李四 %d %d %d %.2lf\n", iMath, iEnglish, iComputer, dEnglishAverage);
fprintf(fpOut, "王五 %d %d %d %.2lf\n", iMath, iEnglish, iComputer, dComputerAverage);
fprintf(fpOut, "赵六 %d %d %d %.2lf\n", iMath, iEnglish, iComputer, dMathAverage);
fprintf(fpOut, "钱七 %d %d %d %.2lf\n", iMath, iEnglish, iComputer, dEnglishAverage);
8. 关闭out.txt文件:
fclose(fpOut);
这样您就可以成功的打开stu.txt文件,并计算每个学生成绩的平均值,最后将学生数据写入out.txt文件中去。如果您还有其他问题,请随时联系我。
阅读全文