2015-10-17 156 views
0

問題的第一部分是寫一個程序:查找值的平均值,最大值和最小值進入

提示用戶輸入整數值,並保持運行總和。

#include<iostream> 
using namespace std; 

int main() 
{ 
    int n, sum = 0; 
    while(n != 0) 
    { 
     cout << "Enter number :"; 
     cin >> n; 

     if(n <= 0) 
      break; 

     sum += n; 
    } 

,第二部分是:

修改前面的程序打印出閱讀的最大和最小數量以及平均。同時改變提示以顯示仍然要輸入的數字的數量。

#include<iostream> 
using namespace std; 

int main() 
{ 
    float n, sum=0.0, minimum=1.0, maximum=0.0, average; 
    int i = 0, x; 

    while(n != 0) 
    { 
     cout << "Enter number" << (i+1) << " :"; 
     cin >> n; 

     if(n <= 0) 
      break; 

     sum += n; 
     i++; 

     if(n > maximum) 
     { 
      maximum = n; 
     } 

     if(n <= minimum) 
     { 
      minimum = n; 
     } 

     x = x + (i + 1); 
    } 

cout << "Total=" << sum << endl; 

average = sum/x; 

cout << "Average=" << average << endl; 
cout << "Maximum=" << maximum << endl; 
cout << "Minimum=" << minimum << endl; 
return 0; 
} 

我的問題是,我不能夠計算平均,並顯示仍然要輸入號碼的數量。任何人都可以幫忙嗎?

+1

您是否聽說過縮進?可能有助於使代碼易讀 –

+0

似乎正在處理類似的問題http://stackoverflow.com/questions/33186635/determining-maximum-and-mean-of-an-user-provided-array –

+0

你是什麼意思是 「如何顯示還要輸入的數字的數量」。編輯:sry,我現在明白了。但是你怎麼解決'cout <<「輸入數字<< <<(i + 1)<<」:「;' – JojOatXGME

回答

0

問題是你將總和除以x。爲什麼你需要這個x?我是你輸入的對象的數量,只需將總和除以i;
還有一個bug,你定義了變量n並且沒有設置值,並且你想把它與0比較。它可以工作不正確。

#include<iostream> 
    using namespace std; 
    int main() 
    { 
     float n = 1,sum=0.0,minimum=1.0,maximum=0.0,average; 
     int i=0; 

     while(n!=0) 
     { 
      cout<<"Enter number"<<(i+1)<<" :"; 
      cin>>n; 
      if(n<=0) 
       break; 
      sum+=n; 
      i++; 
      if(n>maximum) 
      { 
       maximum=n; 
      } 

      if(n<=minimum) 
      { 
       minimum=n; 
      } 
     } 

     cout<<"Total="<<sum<<endl; 

     average=sum/i; 

     cout<<"Average="<<average<<endl; 
     cout<<"Maximum="<<maximum<<endl; 
     cout<<"Minimum="<<minimum<<endl; 
     return 0; 
    } 
相關問題