#include <iostream>
using namespace std;
int main()
{
int i,t,x[20], even, odd, prime;
cout << "Enter 20 integer numbers from 0 to 99: "<<endl;
for (i=1;i<=20;i++)
{
cout << "Input " << i <<":";
cin >> x[i];
}
cout << "\nPrime numbers are: " << endl ;
prime=1;
for (i=2; i<=20 ; i++)
{
for(t=2;t<x[i];t++)
{
if(x[i]%t==0)
{
prime=0;
}
}
if(prime==1)
{
cout << x[i] << endl;
}
prime=1;
}
for(i=1; i<=20; i++) // this is where i have problem.
{
if(x[i]% 2 == 0)
{
even++;
}
else
{
odd++;
}
}
cout << "Number of odd numbers: " << odd << "\n";
cout << "Number of even numbers: " << even << "\n";
return 0 ;
}
コンパイルすると、0から19まで0の入力に対して偶数(40)と奇数(10)が表示されます。私が間違ってやっているのは分かりません。誰かがコードを改善するのに役立つことを願っています。ユーザーの入力から、奇数と偶数の合計。 0から99の間の数字を入力してください。
プログラムをデバッグしたときに何を見つけましたか? – user2079303
合意。素数発見コードを削除し、偶数/奇数を決定することとは関係なく、開発環境のデバッガでステップ実行を開始します。デバッガはありませんか?時間を無駄にしないで、デバッガで開発システムを入手してください。ほぼすべてが行います。 – user4581301
この 'x [20]'と 'for(i = 1; i <= 20; i ++)'は一緒に動かない – DimChtz