标题:大神,求帮助。要求用一个input函数输入5个学生数据;但是每次输入到第三人 ...
只看楼主
遇见sxm
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-5-16
结帖率:0
已结贴  问题点数:20 回复次数:4 
大神,求帮助。要求用一个input函数输入5个学生数据;但是每次输入到第三人时就会出错
#include<stdio.h>
struct rec
{
   int number;
   char name[26];
   float score[4];
};
void input(struct rec a[]);
float average(struct rec a[]);
int max(struct rec a[]);
#define N 5
int main()
{
   struct rec student[N];
   int i,m;
   float ave;
   input( student );
   ave=average( student );
   m=max( student );
   printf("%.2f\n",ave);
   printf("%d\n",student[m].number);
   printf("%s\n",student[m].name);
   for(i=0;i<3;i++)
      printf("%.2f\n",student[m].score[i]);
   printf("%.2f\n",student[m].score[3]);
   return 0;
}

void input(struct rec a[])
{
   int i,j;
   for(i=0;i<N;i++)
   {
       scanf("%d",&a[i].number);
       gets( a[i].name );
       for(j=0;j<3;j++)
          scanf("%f",&a[i].score[j]);
   }
}

float average(struct rec a[])
{
   int i,j;
   float s=0,sum;
   for(i=0;i<N;i++)
   {
       sum=0;
      for(j=0;j<3;j++)
      {
         sum+=a[i].score[j];
         s+=a[i].score[j];
      }
      a[i].score[3]=sum/3;
   }
   return s/(N*3);
}

int max(struct rec a[])
{
   int i,j;
   float max;
   max=a[0].score[3];
   for(i=0;i<N;i++)
   {
      if(max>a[i].score[3])
      {
        max=a[i].score[3];
        j=i;
      }
   }
   return j;
}


[ 本帖最后由 遇见sxm 于 2015-5-27 23:30 编辑 ]
2015-05-27 23:17
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:20 
要在每个输入前加个清空输入的函数试试,input函数修改如下:
void input(struct rec a[])
{
   int i,j;
   for(i=0;i<N;i++)
   {
       flushall();
       scanf("%d",&a[i].number);
       flushall();
       gets( a[i].name );
       for(j=0;j<3;j++)
       {
          flushall();
          a[i].score[j])=0;
          scanf("%f",&a[i].score[j]);
       }
   }
}


能编个毛线衣吗?
2015-05-28 06:56
遇见sxm
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-5-16
得分:0 
好的。

[ 本帖最后由 遇见sxm 于 2015-5-28 18:43 编辑 ]
2015-05-28 18:39
遇见sxm
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-5-16
得分:0 
回复 2楼 wmf2014
就是需要包括什么文件才能用flushall()函数
2015-05-28 18:44
遇见sxm
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-5-16
得分:0 
回复 2楼 wmf2014

出错了。。是不能用这个吗
2015-05-28 18:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445857-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.372200 second(s), 11 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved