有5个学生,每个学生的数据包括学号,姓名,3门课的成绩,从键盘输入5个学生的数据,要求输出3门课总平均成

#include<stdio.h>
struct student
{
char name[20];
char num[20];
float score[3];
float avr;
}
student[5];
void main()
{
int i,j;
for(i=0;i<5;i++)
{
printf("please input score of student %d:\n",i+1);
printf("please input number of student:\n");
scanf("%s",student[i].num);
printf("please input name of student:\n");
scanf("%s",student[i].name);

for(j=0;j<3;j++){
printf("please input score of student %d:",j+1);
scanf("%f",&student[i].score[j]);}

}

}
程序写到了这里,卡住了,希望帮个忙,写完,写一个新的也行,非常感谢。

第1个回答  2012-06-20
#include<stdio.h>
typedef struct node
{
char name[20];
char num[20];
float score[3];
float avr;
} stud;

stud student[5];

void Calculate_Avr(stud *stu);

int main (int argc, char **argv)
{
int i,j;
for(i=0;i<5;i++)
{
printf("please input score of student %d:\n",i+1);
printf("please input number of student:\n");
scanf("%s",student[i].num);
printf("please input name of student:\n");
scanf("%s",student[i].name);

printf("The syudent score:\nlesson1\tlesson2\tlesson3\n");
scanf("%f%f%f",&student[i].score[0],&student[i].score[1],&student[i].score[2]);
}
for(i=0;i<5;i++)
{
Calculate_Avr(&student[i]);
printf("student%d: name number lesson1 lesson2 lesson3 average\n",i);
printf(" %s %s %3.1f %3.1f %3.1f %3.1f\n",student[i].name,student[i].num,student[i].score[0],student[i].score[1],student[i].score[2],student[i].avr);
}

}
//计算单个学生的平均成绩
void Calculate_Avr(stud *stu)
{
int i;
float avr_reg;
for(i=0,avr_reg=0;i<3;i++)
{
avr_reg = avr_reg + stu->score[i];
}
stu->avr = avr_reg/3;
}本回答被提问者和网友采纳
第2个回答  2012-06-20
for (j=0; j<3; j++) {
for (i=0; i<5; i++)
sum+=student[i].score[j];
sum/=5;
printf("average score of course %d is %f\n", j, sum);
}
第3个回答  2012-06-20
#include<stdio.h>
#include<stdlib.h>

struct student
{
char name[20];
char num[20];
float score[3];
float avr;
}student[5];
int main()
{
int i,j;
for(i=0;i<5;i++)
{
float temp=0;//临时变量
printf("please input score of student %d:\n",i+1);
printf("please input number of student:\n");
scanf("%s",student[i].num);
printf("please input name of student:\n");
scanf("%s",student[i].name);

for(j=0;j<3;j++)
{
printf("please input student %d's %d's score:",i+1,j+1);
scanf("%f",&student[i].score[j]);
temp+=student[i].score[j];
}
student[i].avr=temp/3;

for(i=0;i<5;i++)
{
scanf("%s",student[i].num);
scanf("%s",student[i].name);
for(j=0;j<3;j++)
printf("%.2f ",student[i].score[j]);
printf("\n");
}

system("pause");
return 0;
}
相似回答