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

初学者急求!各位大神路过看看吧!

2013-03-14 
菜鸟急求!!!各位大神路过看看吧!!!为什么单步调试的时候aver的值是错误的(变成0了),而直接执行的时候却是

菜鸟急求!!!各位大神路过看看吧!!!
为什么单步调试的时候aver的值是错误的(变成0了),而直接执行的时候却是正确的?
求大牛指教啊…………
#include<stdio.h>
int main()
{
int n,score,max,min,aver;
aver=0;n=0;max=0;min=100;
printf("score=?\n");
while(1)
{
scanf("%d",&score);
if(score<0)break;
aver+=score;n++;
if(score>max)max=score;
if(score<min)min=score;
}
aver/=n;
printf("n=%d\n",n);
printf("max=%d\n",max);
printf("min=%d\n",min);
printf("aver=%d\n",aver);
return 0;
} c语言
[解决办法]


#include<stdio.h>
int main()
{
  int n = 0 ,score = 0,max = 0,min = 0, sum = 0;
  
  printf("score=?\n");
  while(1 == scanf("%d",&score) && score >= 0)
  {
    sum +=score;
    if(!n)
    {
      min = max = score;
    }
    ++n;
    if(score > max) max = score;
    if(score < min) min = score;
  }
  
  printf("n=%d\n",n);
  printf("max=%d\n",max);
  printf("min=%d\n",min);
  printf("aver=%f\n",n ? (float)sum/ n : 0);
  return 0;


[解决办法]
 aver/=n;
c语言中,整数除以整数结果只有整数
[解决办法]
测试了一下 我这没有问题啊 我输入的数是 1 2 3 -1 n=3 aver=2 设置了断点

热点排行