C语言编程:六个学生输入号,姓名,三门课成绩,计算出 平均成绩,
有六个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,原有的数据和计算出的平均分数存放在磁盘文件E盘"design16"...
有六个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出 平均成绩,原有的数据和计算出的平均分数存放在磁盘文件E盘" design 16"中。
展开
1个回答
展开全部
#include <stdio.h>
struct data
{
char name[10];
float num[4];
}D[6];
main()
{
int i=0;
FILE *fp=fopen("E:\\design 16.txt","w");
fprintf(fp,"name\tscore1\tscore2\tscore3\taverscore\n");
for (i=0;i<6;i++)
{
printf("input name:");
scanf("%s",D[i].name);
printf("input score1:");
scanf("%f",&D[i].num[0]);
printf("input score2:");
scanf("%f",&D[i].num[1]);
printf("input score3:");
scanf("%f",&D[i].num[2]);
D[i].num[3] = (D[i].num[0] + D[i].num[1]+D[i].num[2])/3.0;
fprintf(fp,"%s\t%.2f\t%.2f\%.2f\t%.2f\t%f\n",D[i].name,D[i].num[0], D[i].num[1], D[i].num[2],D[i].num[3]);
}
fclose(fp);
}
追问
name score1 score2 score3 averscore
dsad 100.00 99.00 85.00 94.67 0.000000
k 45.00 12.00 45.00 34.00 0.000000
为甚么后面会有0.000000.如何去掉
追答
多了一个 不好意思
fprintf(fp,"%s\t%.2f\t%.2f\%.2f\t%.2f\n",D[i].name,D[i].num[0], D[i].num[1], D[i].num[2],D[i].num[3]);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询