2014-02-17 46 views
2

請幫忙在這裏。我想創建一個用戶輸入多個數字的程序(假設他/她的頭上有6個數字)。程序應該繼續計算所有這些數字的總和。然而,我必須使用循環語句,For語句,While語句或do/while語句。這是我到目前爲止有:如何查找用戶使用do/while輸入的幾個整數的總和,while語句或For語句

#include <iostream> 

using namespace std; 

int main() 
{ 
    int count = 1; 
    int sum = 0; 
    int number; 
    int numberitems; 

    cout << "Enter number of items: \n"; 
    cin >> numberitems; 

    cout << "Enter number: \n"; 
    cin >> number; 

    do { 

     sum = sum + number; 

     count++; 
    } while (count <= 6); 
} 

,這裏是另一個代碼中使用while語句

#include <iostream> 

using namespace std; 

int main() 
{ 
    int count = 1; 
    int sum = 0; 
    int number; 

    cout << "Enter number: \n"; 
    cin >> number; 

    while (count <= 6) { 
     sum = sum += number; 

     count++; 
    } 
    cout << sum << endl; 
} 

我知道這是初學者的東西,以及是初學者所以幫了妹妹禮貌。 感謝

+1

在循環中使用cout和cin,所以它重複讀取數字6次 –

+0

爲什麼會有40,000個視圖? –

回答

1

for循環運作良好,我修改了它一點點:

#include<iostream> 
using namespace std; 
int main() 
{ 

    int sum = 0; 
    int number; 
    int numberitems; 


    cout << "Enter number of items: \n"; 
    cin >> numberitems; 

    for(int i=0;i<numberitems;i++) 
    { 
     cout << "Enter number: \n"; 
     cin >> number; 

     sum=sum+number; 

    } 
    cout<<"sum is: "<< sum<<endl; 
} 

無論其,WHILE循環在第11行出現了一些錯誤(Count未在此範圍內聲明)。可能是什麼問題?另外,如果你有一個使用DO的解決方案,那麼WHILE循環會很棒。謝謝

+0

請僅使用* Post answer *按鈕才能得到實際答案。你應該修改你原來的問題來增加額外的信息,或者讓另一個人避免把這個變成一個變色龍的問題。 –

0

你應該這樣做:

#include<iostream> 
using namespace std; 
int main() 
{ 

    int sum = 0; 
    int number; 
    int numberitems; 


    cout << "Enter number of items: \n"; 
    cin >> numberitems; 

    for(int i=0;i<numberitems;i++) 
    { 
     cout << "Enter number <<i<<":" \n"; 
     cin >> number; sum+=number; 
    } 
    cout<<"sum is: "<< sum<<endl; 
} 

並配有while語句

#include <iostream> 
using namespace std; 
int main() 
{ 
    int sum = 0; 
    int number; 
    int numberitems; 
    cin>>numberitems; 

    cout << "Enter number: \n"; 

    while (count <=numberitems) 
    { 
     cin >> number; 
     sum+=number; 
    } 
    cout << sum << endl; 
} 
+0

第一種方式(最好的)你不需要一個while循環或變量計數。在你的代碼中,你所做的就是你給了一次號碼。現在,通過循環,您可以輸入與「numberitems」一樣多的數字。如果這有助於你投票並接受我的回答(我需要一些聲譽來評論其他人的帖子,並幫助他們解決問題)謝謝! 。 –

0

請注意,如果你要添加東西,你可能總是想檢查你是否超出int(特別是在作業練習中)的限制。 另外,int main()應返回int

使用 「做..而」 循環:

#include<iostream> 
using namespace std; 
int main() 
{ 

    int sum = 0; 
    int previous = 0; 
    int number; 
    int numberitems; 
    int count = 0; 

    cout << "Enter number of items: "; 
    cin >> numberitems; 

    if (numberitems <= 0) 
    { 
    //no request to perform sum 
    cout << "Quitting without summing.\n\n"; 
    return 0; 
    } 

    do 
    { 
    cout << "Enter number to add : "; 
    cin >> number; 

    sum+=number; 

    // check here that the addition didn't break anything. 
    // Negative + negative should stay negative, positive + postive should stay positive 
    if ((number > 0 && previous > 0 && sum < 0) || (number < 0 && previous < 0 && sum > 0)) 
    { 
     cout << "Error: Beyond int limits !!"; 
     return 1; 
    } 

    count++; 
    previous = sum; 

    } 
    while (count < numberitems); 

    cout<<"sum is: "<< sum<<endl; 

    return 0; 
} 
0
#include<iostream> 
int main() 
{//initialize variables 
    int limit; 
    int num; 
    int sum=0; 
    int counter=0; 

    cout<<"Enter limit of numbers you wish to see"<<" "; 
    cin>>limit; 
    cout<<endl; 

while(counter<limit) 
{ 

    cout<<"Enter number "<<endl; 
    cin>>num; 

    sum=sum+num; 
    counter++; 
} 
cout<<"The sum of numbers is "<<" "<<endl 

return 0; 
} 
0

一個簡單的程序展示瞭如何使用for循環找到serveral的整數的總和。

#include <iostream>  
using namespace std; 

int main() 
{ 
    int sum = 0; 

    int endnum = 2; 

    for(int i = 0; i<=endnum; i++){ 
     sum += i; 
    } 
    cout<<sum; 
} 
+0

通常情況下,如果答案包含對代碼意圖做什麼的解釋,以及爲什麼解決問題而不介紹其他問題,答案會更有幫助。 (這篇文章被至少一個用戶標記,大概是因爲他們認爲沒有解釋的答案應該被刪除。) –