打印

结构体问题

[复制链接]
853|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinadz|  楼主 | 2012-4-16 18:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*
有10个学生,每个学生的数据包括,学号,姓名,3门课的成绩,从键盘输入10个学生的数据
要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)
*/
#include
<stdio.h>
#define N 2
struct student
{
   
int num;
   
char name[10];
   
int score[3];
   
float aver;
}stu[N];

void main()
{
   
int i,j,max=0,maxi=0,sum=0;  //maxi最高分学生的序号

float average=0;

   
for(i=0;i<N;++i)
    {
        scanf(
"%d %s",&stu.num,&stu.name);
        
for(j=0;j<3;j++)
        {
            scanf(
"%d ",&stu.score[j]);
        }
    }

   
for(i=0;i<N;i++)
    {
        
for(j=0;j<3;j++)
            sum
+=stu.score[j];
        stu.aver
=sum/3.0;       //每个学生的平均分
        average+=stu.aver;      //学生的平均分之和

if(sum>max)               //判断最高分学生的序号  
        {
            max
=sum;
            maxi
=i;
        }

    }
    average
/=N;                   //亲,这才是总平均分哦,
    printf("No.  name   score1  score2  score3 average\n");
   
   
for(i=0;i<N;++i)
    {
        printf(
"%d,%s",stu.num,stu.name);
        
for(j=0;j<3;j++)
        {
            printf(
"%9d",stu.score[j]);
            printf(
"%8.2f\n",stu.aver);
        }

    }
    printf(
"average=%6.2f\n",average);
    printf(
"The highest score is %d,score total:%d.",stu[maxi].name,max);

}


输入语句有误,求解

相关帖子

沙发
火箭球迷| | 2012-4-16 18:45 | 只看该作者
scanf("%d",&stu[i].score[j]);去年%d 后面的空格就正常了。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝