• ベストアンサー

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<<"です"; } }

質問者が選んだベストアンサー

  • ベストアンサー
  • diov
  • ベストアンサー率75% (3/4)
回答No.1

>最後に入力した数の合計 と言うのが解らなかったので入力した数の合計と勝手に解釈。 そのコードに"書き込む"なら //--- #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)
回答No.2

 おそらくプログラムの始めだけ間違っています。  numになにも値が代入されてい状態でwhileにはいるので、while文の所でエラーが起きることが考えられます。そのため、質問のプログラムの9,10行目の cout<<"\n数値を入力してください(終了するときは負の数を入力):"; cin>>num; をwhileの前に持っていってください。

関連するQ&A