これは私の学校の割り当てです。素数に2つの配列を使用する
問題ステートメント:
「(素数のみ自体と1によって均等に分割することができる任意の整数である)、1から100までの素数を印刷するプログラムを書く
。要件:配列を使用して1から100までの数値をとり、もう1つの配列で素数を取ってください。
ここに私のコードです:
#include <stdio.h>
int main()
{
int x[100], a[100];
int y, z;
printf("here is an array going 1-100 :D\n");
for (y=2; y<=100; y++){
x[y]=y;
printf("\n%d\n", x[y]);
for (z=2; z<=y; z++){
a[z]=z;
if (a[z]%z==0){
break;
}
}
if (z==a[z]){
printf("\n%d is a prime number\n", a[z]);
}
}
return 0;
}
私は少しのためにこれに困惑してきました。私は通常、私の問題を解決する質問をGoogle検索しました。しかし、私は近いと感じています。私の2番目の配列にいくつか問題があると私は信じています。
私を親切に案内します。
'のX [Y] = Y;': 'のy == 100' – BLUEPIXY
は、あなたがサンプルを提供することができます場合、これは範囲外のエラーが発生します出力、エラーなど – roelofs
'a [z] = z; (a [z]%z == 0){ break; } 'が常に実行されます。だから 'z == a [z]'は常に真です。 (そして常に '2は素数です') – BLUEPIXY