素数を判定するプログラム
素数を判定するプログラムをC言語で作れという問題があったのですが、以下のものをビルドして実行したら途中で止まってしまいました。(例えば5と入力する)しかし、1以下の場合は正常にif文が評価されました。
// homework4.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
#include <stdio.h>
int main(int argc, char* argv[])
{
int number;
int n;
int i;
printf("1より大きい整数を入力してください: ");
scanf("%d", &number);
if (number <= 1) {
printf("1より大きい整数を入力してください\a: ");
scanf("%d", &number);
}
for (n = 2; n = number - 1; n++) {
i = number % n;
if (i = 0) {
printf("%dは素数ではありません", number); break;
}
}
printf("%dは素数です", number);
return 0;
}
自分ではどこがおかしいのかさっぱりわかりません。よろしくお願いします。
お礼