- ベストアンサー
C++
このプログラムの最後に入力した数の合計を表示するには、どのようなプログラムを書き込めばいいでしょうか。 #include<iostream.h> void main(void) { int i=1,sum=0,num; while(num>=0) { cout<<"\n数値を入力してください(終了するときは負の数を入力):"; cin>>num; ++i; sum+=i; cout<<"1から"<<i<<"までたすと"<<sum<<"です"; } }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>最後に入力した数の合計 と言うのが解らなかったので入力した数の合計と勝手に解釈。 そのコードに"書き込む"なら //--- #include<iostream.h> void main(void) { int i=1,sum=0,num=0; while(num>=0) { cout<<"\n数値を入力してください(終了するときは負の数を入力):"; cin>>num; sum += num; } sum -= num; cout<<"合計は"<<sum<<"です"; } } //--- こんな感じ。 因みに"書き直す"なら //--- #include <iostream> int main() { int nSumTotal = 0, nNum = 0; for (; nNum >= 0; nSumTotal += nNum) { std::cout << "数値を入力してください(終了するときは負の数を入力):" << std::endl; std::cin >> nNum; } nSumTotal -= nNum; std::cout << "合計は" << nSumTotal << "です" << std::endl; } //--- エラーとか考慮してません。
その他の回答 (1)
- 12m24
- ベストアンサー率23% (193/817)
おそらくプログラムの始めだけ間違っています。 numになにも値が代入されてい状態でwhileにはいるので、while文の所でエラーが起きることが考えられます。そのため、質問のプログラムの9,10行目の cout<<"\n数値を入力してください(終了するときは負の数を入力):"; cin>>num; をwhileの前に持っていってください。