首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

新手,请大家看下,比较急多谢了大哥们,

2012-03-06 
新手,请大家看下,比较急,谢谢了大哥们,。。。下面这个C程序就是分别输入math,english的成绩,开始提示输入学号

新手,请大家看下,比较急,谢谢了大哥们,。。。
下面这个C程序就是分别输入math,english的成绩,开始提示输入学号,然后输入这两门的成绩,输入完后显示这个学生的平均成绩,同时提示是否要在输入一组成绩,按0继续输入一组,按1则退出这一组的输入然后出现所输入的组数,并且计算出aver_math,aver_english所有输入中每一门的平均成绩,为什么结果中每一门的平均成绩总是不和要求呢?数都是很大的,请指点下

#include   "stdio.h "
#include   "conio.h "

main()
{
        int   num[100],math[100],english[100],averres[100],i,j;
        int   a,b;
        int   logo;
        int   aver_math,aver_english;
        for(i=0,j=0;i <100;i++)
        {
        printf( "\n   please   input   the   study_num:\n ");
        scanf( "%d ",&num[i]);
        printf( "please   input   the   math:\n ");
        scanf( "%d ",&math[i]);
        printf( "please   input   the   english:\n ");
        scanf( "%d ",&english[i]);
        a=math[i];
        b=english[i];
        averres[i]=aver(a,b);
        printf( "average   result:\n ");
        printf( "%d ",averres[i]);
            ++j;
        printf( "\n   now   you   have   completed   one   student-inputing   do   you   want   to   exit   input?1/0:\n ");
        scanf( "%d ",&logo);
        if(logo)
            {
                  break;
            }
        else
            continue;
        }
        printf( "\n   total   studens '   number:\n ");
        printf( "%d ",j);
        printf( "\n   average_result   of   each   class   as   the   follows   :\n ");
        printf( "aver_math         aver_english\n ");
        aver_math=aver_each_math(math[100],j);
        aver_english=aver_each_english(english[100],j);
        printf( "     %d ",aver_math);
        printf( "                     %d ",aver_english);
        getch();
}
int   aver(int   a,int   b)
{
int   result;
result=(a+b)/2;
return(result);
}
int   aver_each_math(int   a[100],int   num)
{
  int   total=0,i,result;
  for(i=0;i <num;i++)
  {total=total+a[i];}
  result=total/num;
  return(result);
}
int   aver_each_english(int   a[100],int   num)
{
  int   total=0,i,result;
  for(i=0;i <num;i++)
  {total=total+a[i];}
  result=total/num;
  return(result);
}




------解决方案--------------------


aver_math=aver_each_math(math[100],j);
aver_english=aver_each_english(english[100],j);

改成aver_math=aver_each_math(math,j);
aver_english=aver_each_english(english,j);

热点排行