こんにちは私は2とどんな数をユーザーが入力して、私はそれを書き込もうとし、約2時間を過ごした間も、素数をプリントアウトするには、このプログラムを書くためにしようとしていたCプログラミングクラスにイントロと昨日のためのテストのために勉強しています適切かつ最終的に私はそれをやった。私は下にアップロードした2枚の写真があります。そのうちの1つが正しいコードと正しい出力を表示します。もう一つは、正しく動作しなかった問題の私の最初の試みの一つを示しています。私は戻ってきて、すべてを直接コピーして貼り付けることなく作業コードに似たものにしました。Cプログラミング。なぜ 'this'コードは動作しますが、 'that'コードは動作しませんか?
残念ながら、新規ユーザーは、以下のうまくいけば、これらのリンクが動作する画像を投稿することが許可されていません。
for (i = 2; i <= x; i++)
{
//non relevant line
a = sqrt(i);
aa = a * a;
if (aa == i);
printf("%d ",i);
}
ソース:
これは、自然の平方根との範囲内のすべての数字を印刷しない、失敗した自然sqaureルートとhttp://i.imgur.com/WGG6n.jpg
これが成功している間、およびプリント偶数
for (i = 2; i <= x; i++)
{
a = sqrt(i);
aa = a * a;
if (aa == i && ((i/2) *2) == i)
printf("%d ", i);
}
出典:http://i.imgur.com/Kpvpq.jpg
私がここにあるスクリーンショットを見て読んでほしい。私は '間違ったコード'の画像に(i/2)* 2 == iの部分がないことを知っていますが、まだ奇数と偶数だけを出力すると考えていました。出力に影響を与えるべきではありません。私はその最後の部分に間違っている場合は私を修正してください。
そして、はい、私は私が読んだのDev-C++はプログラムのちょっと安っぽいですが、私はinitallyコード::ブロックの上にこれをしなかったし、それは同じことをした使用しています...
私が希望してください非常に実際に私のために仕事をするためのコードを実際に取得する2時間前に私が間違っていたことについてのアドバイスや提案は非常に高く評価されます。 -aa == i
あれば、このように[If条件の終わりに
;
の点に注意してください]
if (aa == i);
// ^
printf(...);
を
を:
は、 'こと' であなたのコード、 アダム
ください。お願いします。実際のコードを質問自体に入れてください。コピー/貼り付けさえできなければ、どのようにデバッグするのに役立つでしょうか? –
写真を投稿する必要はありません。質問に関連するコードを直接投稿することができます。 –
唯一の素数は2です。あなたは何をしようとしていますか? – twain249