两道c语言编程题,C语言中两道编程题求救!

该程序使用C语言实现,输入5个学生的信息,包括学号、姓名和三门课程的成绩,然后计算并输出每门课程的平均分。程序中指出了一些常见的错误,如单引号误用、逗号遗漏以及结构体定义的问题,并提供了修正后的代码示例。
摘要由CSDN通过智能技术生成

第一题:

#include

//定义一个结构,记录一个学生的信息

typedef struct{

char num[10];

char name[10];

int score[3];

} STUDENT;

int main()

{

FILE* file; //文件指针,用于打开文件和将数据写入文件的一个接口

STUDENT student[5]; //5个学生

int i,j;

double ave[3]; //计算各门课平均分用的

printf("请依次输入5个学生的信息:\n");

for (i=0; i<5; i++) //输入信息

{

scanf("%s%s",student[i].num,student[i].name);

for (j=0; j<3; j++) scanf("%d",&student[i].score[j]);

}

for (i=0; i<3; i++) ave[i]=0;

for (j=0; j<5; j++)

for (i=0; i<3; i++) ave[i]=ave[i]+student[j].score[i]; //先计算总分

for (i=0; i<3; i++) ave[i]=ave[i]/5.0; //算平均分

file=fopen("ZK1","w"); //打开一个文件,文件名叫ZK1

//下面使用fprintf将信息写入磁盘文件中

for (i=0; i<5; i++)

{

fprintf(file,"%s %s ",student[i].num,student[i].name);

for (j=0; j<3; j++) fprintf(file,"%d ",student[i].score[j]);

fprintf(file,"\n");

}

//写入三门课的平均成绩

fprintf("三门课的平均成绩分别是:");

for (i=0; i<3; i++) fprintf(file,"%lf ",ave[i]);

fclose(file); //关闭,保存文件

return 0;

}

至于第二题的程序

第22行,你写的是 scanf("%f',&s[i].avgcj);

你把%f后面的双引号打成单引号了

另外还有倒数第二行,你写的是 printf("sname=%s sum=%f",s[j].sname sum);

在s[j].sname和sum中间,你忘记打个逗号了

另外,你的struct定义写得不对,应该这样写:

typedef struct

{

int sno;

char sname[20];

float ywcj;

float sxcj;

float yucj;

float avgcj;

}student;

student s[5];

温馨提示:答案为网友推荐,仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值