廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2670 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為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.094061 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言