跪求C语言源程序注释2 急急急 3号之前解决 多谢多谢

详细点每条语句都加上后面加上语句符号多谢多谢有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的... 详细点 每条语句都加上后面加上语句符号 多谢多谢
有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出
平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
1.程序分析:
2.程序源代码:
#include "stdio.h"
struct student
{
char num[6];
char name[8];
int score[3];
float avr;
}
stu[5];
main()
{
int i,j,sum;
FILE *fp;
/*input*/
for(i=0;i<5;i++)
{
printf("\n please input No. %d score:\n",i);
printf("stuNo:");
scanf("%s",stu[i].num);
printf("name:");
scanf("%s",stu[i].name);
sum=0;
for(j=0;j<3;j++)
{ printf("score %d.",j+1);
scanf("%d",&stu[i].score[j]);
sum+=stu[i].score[j];
}
stu[i].avr=sum/3.0;
}
fp=fopen("stud","w");
for(i=0;i<5;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
展开
 我来答
microant837
2008-01-03 · 超过19用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:0
展开全部
#include "stdio.h"
struct student
{
char num[6]; //学号
char name[8]; //姓名
int score[3]; //分数
float avr;
} //学生结构体定义
stu[5];
main()
{
int i,j,sum;
FILE *fp; //File类指针
/*input*/
for(i=0;i<5;i++) //循环输入学生信息到stu[]结构体数组,并求出平均分
{
printf("\n please input No. %d score:\n",i); //第i个
printf("stuNo:");
scanf("%s",stu[i].num); //获取键盘输入学号到stu[i].num
printf("name:");
scanf("%s",stu[i].name); //获取键盘输入姓名到stu[i].name
sum=0;
for(j=0;j<3;j++) //输入三门分数,并求和sum
{ printf("score %d.",j+1);
scanf("%d",&stu[i].score[j]); //获取键盘输入第J门课程分数
sum+=stu[i].score[j]; //求和
}
stu[i].avr=sum/3.0; //求分数平均值
}
fp=fopen("stud","w"); //打开stud文件,写文件
for(i=0;i<5;i++) //依次将结构体内信息写入文件
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) //写入报错
printf("file write error\n");
fclose(fp); //g关闭文件
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jaymos
2008-01-03 · 超过16用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
逐行分析吗?
2.程序源代码:
#include "stdio.h" //导入标准输入输出头文件
struct student //构造结构体
{
char num[6]; //声明学号 6位 字符型的数组,
char name[8]; //声明姓名 8位 字符型的数组
int score[3]; //声明分数 3位 整型数组
float avr; //声明均分 单精度浮点型
}
stu[5]; // 学生 数组名,长度5
main()
{
int i,j,sum; //声明用于循环用的计数,和统计变量sum
FILE *fp; //声明并构造文件指针
/*input*/
for(i=0;i<5;i++) //循环5轮,用于输入学生成绩
{
printf("\n please input No. %d score:\n",i);
printf("stuNo:");
scanf("%s",stu[i].num); //从键盘读取,存放到学生学号
printf("name:");
scanf("%s",stu[i].name); //从键盘读取,存放到学生姓名
sum=0;
for(j=0;j<3;j++)
{ printf("score %d.",j+1);
scanf("%d",&stu[i].score[j]); //循环从键盘读取,学生3个成绩
sum+=stu[i].score[j];
}
stu[i].avr=sum/3.0; //求解三门均分,赋给avr变量
}
fp=fopen("stud","w"); //写入方式打开文件,
for(i=0;i<5;i++) //循环5轮
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
/* 取结构体数组地址写入文件,判断长度是否有效,为空显示文件写入错误*/
printf("file write error\n");
fclose(fp); //关闭文件
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式