广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 2682 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
风云人物 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x6 鲜花 x57
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++] C++的小程式请求高手的帮忙~帮我除错一下>"<
我想写一个程式,就是可以让人自由输入看要几位数字,再把这些数字相加求出平均值,不过我RUN到最后都会出现程式错误,要关闭...求救各位大大^^SOS...我想了一个下午...可是想不出来>"<

#include<stdio.h>
int main()

{
int a, ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



叶的离去,是风的追求?还是树的不挽留?
献花 x0 回到顶端 [楼 主] From:台湾中华电信 | Posted:2005-08-17 12:23 |
youchun
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x26
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

(a == 0)   c/a


献花 x1 回到顶端 [1 楼] From:台湾中华电信 | Posted:2005-08-17 13:44 |
风云人物 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x6 鲜花 x57
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

不行...我还是改不出来...有没有人可以再给我一点提示呢??
youchun大大我知道您的意思是A的值有冲突...但是...我要怎么样修改,才能够让程式可以显示出目前输入到第几个数字了?? 表情 头大头大...


叶的离去,是风的追求?还是树的不挽留?
献花 x0 回到顶端 [2 楼] From:台湾中华电信 | Posted:2005-08-19 03:01 |
ety 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x719
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

其实你的程式并没有错, 而是 while 出了问题! while 这个指令会判断你所给予的条件是否符合, 如果符合就会执行, 不符合则是跳开! 而当 a 等于 0 时, 这就是不合格的参数了! 所以你的程式能完整的执行完流程但却不能正常的结束! 只要把 while 的参数改为 a != 0, 让 while 这个指令来判断是否为 0, 而不要让 while 去判断 0 是否大于等于 1, 就可以解决这个问题了!

附上我的程式码, 供你参考:
复制程式
#include <stdio.h>

int sum( int a, int b )
{
       int c;
       c = 0;
       printf( "Please key in NO.%d integer: ", a );
       scanf( "%d", &c );
       b = b + c;
       printf( "\nNow sum is: %d\n\n", b );
       return( b );
}

void average( int a, int b )
{
       int c;

       if( a == 0 )
       { c = 0; }
       else
       { c = a / b; }

       printf( "The average value is: %d\n", c );
}

int main( void )
{
       int Loop;
       int Input;
       int Sum;
       int Number;
       int Average_Value;

       Loop = 0;
       Input = 0;
       Sum = 0;
       Number = 1;
       Average_Value = 0;

       printf( "\nHow many integers?" );
       scanf( "%d", &Loop );
       printf( "\n" );

       if( Loop <= 0 )
       { printf( "Average value is: %d\n", Average_Value ); }
       else
       {
              while( Loop != 0 )
              {
                     Sum = sum( Number, Sum );
                     Loop = Loop - 1;
                     Number = Number + 1;
              }

              average( Sum, Number );
       }

       printf( "\nExit!\n" );
       return( 0 );
}


[ 此文章被ety在2005-08-19 13:36重新编辑 ]


献花 x1 回到顶端 [3 楼] From:台湾和信超媒体 | Posted:2005-08-19 13:11 |
youchun
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x26
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

不是有 int d 来做 counter ?
至于 a 可以加个 int tmp 暂存
我在你原本程式更改处加上 //here
ety 所提到的检查也请楼主注意
最后, 如果要计算到小数点下
请用 double 或 float

复制程式
#include<stdio.h>
int main()

{
     int a,b,c=0,d=1,tmp;
     
     printf("请问一共有几个数字:");
     scanf("%d",&a);

     tmp =a ; //here
     
     while(tmp>=1){//here
     
           
           printf("请输入第%d个数字:",d);
           scanf("%d",&b);
           
           c += b;
           
           printf("\n目前总和是%d\n\n",c);
           
           tmp--;//here
           d++;
           
     }


     printf("平均值为%d\n",c/a);
     
     return 0;
}



献花 x1 回到顶端 [4 楼] From:台湾中华电信 | Posted:2005-08-19 15:07 |
夷希微
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x13 鲜花 x1682
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

请问有规定一定要用 while 来做吗?这个问题用 for 来做比较好解决吧 ^^" 表情
#include<stdio.h>
int main()

{
  int a,b,c=0,d=1;
 
  printf("请问一共有几个数字:");
  scanf("%d",&a);

  for(d=1;d<=a;d++){


      printf("请输入第%d个数字:",d);
      scanf("%d",&b);
     
      c += b;

      printf("\n目前总和是%d\n\n",c);
  }


  printf("平均值为%d\n",c/a);

  return 0;
}
如果结果要有小数的话,使用强制转型(作弊)的方式也可以达到效果唷 ^^" 表情
#include<stdio.h>
int main()

{
  int a,b,c=0,d=1;
 
  printf("请问一共有几个数字:");
  scanf("%d",&a);

  for(d=1;d<=a;d++){


      printf("请输入第%d个数字:",d);
      scanf("%d",&b);
     
      c += b;

      printf("\n目前总和是%d\n\n",c);
  }


  printf("平均值为%.2f\n",(float)c/a);

  return 0;
}
表情 表情   表情 表情


视之不见,名曰夷;
听之不闻,名曰希;
搏之不得,名曰微。
此三者不可致诘,故混而为一。

[截自老子道德经第十四章]
献花 x1 回到顶端 [5 楼] From:台湾中华电信 | Posted:2005-08-21 18:49 |
珀琥
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x6
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

复制程式
#include<stdio.h>
main()
{
      int a,b=0,c=1,d=0,e=0;
      printf("请问有多少个数字:");
      scanf("%d",&a);
      d=a;
      if (a>0){
      do{
      printf("请输入第%d个数字:",c);
      a=a-1;
      c++;
      scanf("%d",&b);
      e +=b;
      }while(a>0);
      printf("平均值=%d\n",(e/d));
      }
      system("pause");
      }


献花 x0 回到顶端 [6 楼] From:香港特别行政区 | Posted:2005-08-22 18:17 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.061946 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言