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

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:49:34
1.有5个学生,每个学生有3门课,从键盘上输入以下数据(包括学号,姓名,三门课成绩),计算出平均成绩.将原来的数据和计算出的平均成绩存放在磁盘的"ZK1"中.
2.编写程序,功能是从键盘输入5个学生的数据(学号,姓名,语文成绩,数学成绩,英语成绩,平均分),要求输出三门课的总平均成绩,以及最高分的学生数据(姓名,总分).

第2题我编的程序如下:可是不对?编译不通过?
#include<stdio.h>
#include<string.h>
main()
{int i,j;
float sumavg=0.0;
float sum=0.0;
struct student
{int sno;
char sname[20];
float ywcj;
float sxcj;
float yucj;
float avgcj;
}struct student s[5];
printf("Please enter dabebase");
for(i=0;i<5;i++)
{scanf("%d",&s[i].sno);
scanf("%s",s[i].sname);
scanf("%f",&s[i].ywcj);
scanf("%f",&s[i].sxcj);
scanf("%f",&s[i].yucj);
scanf("%f',&s[i].avgcj);
}

sum=s[0].ywcj+s[0].sxcj+s[0].yucj;
for(i=1;i<5;i++)
if(sum<(s[i].ywcj+s[i].sxcj+s[i].yucj))
{sum=s[i].y

第一题:
#include<stdio.h>
//定义一个结构,记录一个学生的信息
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 "