C语言基础题.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和

来源:学生作业帮助网 编辑:作业帮 时间:2018/08/15 23:09:12
C语言基础题.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和C语言基础题.有

C语言基础题.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和
C语言基础题.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据
有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stu”中.

 
输入有问题.打开文件的时候也有问题.

下面是我写的代码.
 
#include <iostream>
#include <stdlib.h>
#include <string.h>
 
struct student
{
char number[20];
char name[20];
int score[3];
} str[5];
 
void main()
{
float aver(int *);
struct student *p;
p=str;
int i,j;
for(i=0;i<5;i++) //read
{
printf("number:");
gets(p->number);
printf("name:");
gets(p->name);
for (j=0;j<3;j++)
switch(j)
{
       case 0:printf("Mathematics:"); scanf("%d",&p->score[0]);break;
       case 1:printf("C Program:"); scanf("%d",&p->score[1]);break;
       case 2:printf("English:"); scanf("%d",&p->score[2]);break;
}
p++;
printf("\n");
}
 
 
FILE *fp;
char filename[5]={"stud"};
if((fp=fopen(filename,"w"))==NULL)
{printf("Can't open the %s\n",filename);
exit(0);
}
 
for(i=0;i<5;i++)// puts
{
fprintf(fp,"number:");
fputs(p->number,fp);
fprintf(fp,"\nname:");
fputs(p->name,fp);
for (j=0;j<3;j++)
switch(j)
{
       case 0:fprintf(fp,"\nMathematics:%d",p->score[0]);break;
       case 1:fprintf(fp,"\nC Program:%d",p->score[1]);break;
       case 2:fprintf(fp,"\nEnglish:%d",p->score[2]);break;
}
fprintf(fp,"\nAverage:%d\n\n",aver(p->score));
p++;
 
}
fclose(fp);
}
 
 
float aver(int *a)
{
int i=0;
float sum;
for (;i<3;i++)
{
sum+=(int)(*a);
a++;
}
return sum/3;
}

C语言基础题.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和
把你的程序改了下:
#include
#include
#include

struct student
{
char number[20];
char name[20];
int score[3];
} str[5];

void main()
{
float aver(int *);
struct student *p;
p=str;
int i,j;
for(i=0;inumber);
printf("name:");
gets(p->name);
for (j=0;jscore[0]);break;
case 1:printf("C Program:"); scanf("%d",&p->score[1]);break;
case 2:printf("English:"); scanf("%d",&p->score[2]);break;
}
getchar(); //接收scanf()结束时的回车
p++;
printf("\n");
}
FILE *fp;
char filename[5]={"stud"};
if((fp=fopen(filename,"w"))==NULL)
{printf("Can't open the %s\n",filename);
exit(0);
}
p=str; //必须重新初始化指针p
for(i=0;inumber,fp);
fprintf(fp,"\nname:");
fputs(p->name,fp);
for (j=0;jscore[0]);break;
case 1:fprintf(fp,"\nC Program:%d",p->score[1]);break;
case 2:fprintf(fp,"\nEnglish:%d",p->score[2]);break;
}
fprintf(fp,"\nAverage:%f\n\n",aver(p->score)); //%d改为%f
p++;

}
fclose(fp);
}
float aver(int *a)
{
int i=0;
float sum=0; //初始化为0
for (;i

C语言基础题.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和 c语言 设一个班有10个学生,每个学生有3门课考试成绩,编程求每个学生成绩和个门平均成绩 有5个学生,每个学生有3门课程的成绩,编写成绩管理程序,要求:用c语言完成(1) 从键盘输入学生数据,计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件中.(2) 按平均分进行 c语言数组编程,一班级10个学生,每个学生3门课考试成绩,编程每个学生的成绩和每门课的平均成绩,输出结果 C语言 编程!二、实验题目:有10个学生,每个学生的数据包括学号,姓名,及三门课成绩,总,平均.二、实验题目:有10个学生,每个学生的数据包括学号,姓名,及三门课成绩,总成绩和平均成绩,从键 用c语言实现一个程序:有五个学生,四门课程,求每个学生的平均分和每门课程平均分,并求平均分最高的学生 学校分配宿舍,每个房间住3人,则多出20个学生,每个房间住5人,恰恰安排好,问有几个房间几个学生? C语言输入M个学生N门课程的成绩,要求输出成绩单(包括每个学生的平均分及每门课程的平均分) C语言编程求助!(关于数组)“输入5个学生的3门课程成绩,输出5个学生中的最高平均分”. C语言 有一个班4个学生,5门课程分别用函数求:1.从键盘上输入4名学生的学号、姓名和每门课程的成绩;2.计算每名学生的平均成绩;3.输出每名学生的考试成绩;4、输出按平均成绩由高到低 编写c程序,有5个学生,考3门功课.求出每一个学生的总分及平均分,统计平均成绩低于60分 求C语言程序:创建二维数组 输入5个学生的四门课成绩 编程计算每个学生的总分和每门课的平均分~最好是用函数的方法解答 多种方法 C语言编程:输入10个学生5门课成绩,分别用函数求:1)每个学生平均分; 2)每门课的平均分;输入10个学生5门课成绩,分别用函数求:1)每个学生平均分;2)每门课的平均分;3)找出最高的 C语言错误,指针,有一个班4个学生,5门课程. ①求第1门课程的平均分; ……/*有一个班4个学生,5门课程.①求第1门课程的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课 c语言假设共有3名学生,每名学生都有5门成绩(语文、数学、英语、化学、物理).假设共有3名学生,每名学生都有5门成绩(语文、数学、英语、化学、物理).要求:(1)从键盘上输入每位学 用C语言编程:从键盘输入6名学生的5门成绩,依次分别统计出每个学生的平均成绩并打印之. 请用C语言编写如下程序:有一个班的4个学生,有5门课(1)求第一门课的平均分(2)找出两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩(3)找出平均成绩在90分以上或全部成 (1)5本不同的书,全部分给4个学生,每个学生至少一本,不同的分法?(240)(2)10个三好学生名额分到7个班,每个班至少一个名额,有多少种分法?(84)题目我都会做,但是第二题用的隔板法,C(6)