当前位置: 代码迷 >> C语言 >> 我看了六个钟头代码就是看不出错误!运行出错.高手帮忙解答!
  详细解决方案

我看了六个钟头代码就是看不出错误!运行出错.高手帮忙解答!

热度:122   发布时间:2008-01-20 08:34:57.0
我看了六个钟头代码就是看不出错误!运行出错.高手帮忙解答!
int main()
{
  int counter;
  int grade;
  int total;

  float average;

  total=0;

  counter=1;

  printf ("enter grade, -1 to end:");
  scanf ("%d",&grade);

  while ( grade != -1){

  total=total+grade;

  counter=counter+1;

  printf ("enter grade, -1 to end:");
  scanf("%d",&grade);
  }

  if (counter != 0){
  average=( float ) total / counter;
  printf("class average is %.2f\n",average);
  }
  else {
  printf("cuowu\n");
  }
  getch();
  return 0;

}

问题出在比如你输入 -1 然后回车 居然不会显示 "cuowu" 请教
搜索更多相关的解决方案: grade  counter  钟头  average  

----------------解决方案--------------------------------------------------------
counter=1;

......

if (counter != 0){

counter永远不可能等于0
----------------解决方案--------------------------------------------------------
不够明确!
那如何让他显示?
----------------解决方案--------------------------------------------------------
回复 2# 的帖子
版主.不够明确呢.那如何让他显示出 "cuowu
"
----------------解决方案--------------------------------------------------------
counter=1;

你在最开始就已经将counter的值设为1了
所以那个判断一直为真,当然没错误了
----------------解决方案--------------------------------------------------------
if(counter==1)
printf("错了吧,小子");
----------------解决方案--------------------------------------------------------
counter=0
----------------解决方案--------------------------------------------------------
维生素C
counter=1;
if (counter != 0)

你已经设置了1了!!!
就不用判断了!!!
----------------解决方案--------------------------------------------------------
C~~~
用指针看看可不可以解决问题!!!
----------------解决方案--------------------------------------------------------
回复 1# 的帖子:发现几个问题啊!
1.你要的是average,为什么还要来个 if  呢? 直接 average=( float ) total / counter,就可以啦,它就像当年日本鬼子无条件投降一样的!
2.你的代码有冗余的。比如,while里面不要再写个  printf ("enter grade, -1 to end:");
  scanf("%d",&grade);提示一下,有while之前那个scanf就可以输入所有的grade。都保存在内存缓冲区,遇到while时,在一个一个的取出来。
3.你应该正在学C++,请注意区分它和C的语法风格,还是有区别的!C中,一般来讲main()是void类型,而C++里面才是int,当然要语句return = 0了,它表示程序正常结束!
PS:误解和说错之处,请多包涵!
----------------解决方案--------------------------------------------------------
  相关解决方案