- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語の問題を教えてください。初心者です。)
C言語初心者が100以下の素数を求めるプログラムについての質問
このQ&Aのポイント
- C言語の初心者が100以下の素数を求めるプログラムについて質問です。自分で試してみましたが、うまくいきません。どこが間違っているのか教えてください。
- 1000以下の整数を入力して、それ以下の素数を出力するC言語のプログラムを作成中ですが、うまくいきません。初心者なのでわかりやすく説明していただけると助かります。
- C言語初心者です。1000以下の整数のうち、素数を出力するプログラムを作成していますが、うまくいきません。どこが問題なのか指摘していただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>既に何度もみていてわかってないので、 ここまで書けるなら、Cの文法はおわかりと思うので、虚心に見ると言うだけですね。 >if (a[j]=1 && j%i==0) { >if (a[i]=1) { a[j]=1 は、a[j] に 1を代入すると言うことです。比較の仕方は知ってますね? >for (j=i++; j<=1000; j++) { j=i++ は、j に i を代入して、それから i を1増やす( i に i+1 を代入する)と言うことですよ。やりたいことと合ってますか? 上記三カ所を修正するだけでちゃんと動きました。 あとは、入力に2-1000の数字以外を入力した場合への対処とかですね。
その他の回答 (2)
- jjon-com
- ベストアンサー率61% (1599/2592)
回答No.3
質問者
お礼
ご回答ありがとうございます。 自分のとは別に、模範解答的なものもみたかったので大変参考になりました。
- f272
- ベストアンサー率46% (8467/18126)
回答No.1
for (j=i++; j<=100; j++) { と if (a[j]=1 && j%i==0) { と if (a[i]=1) { をもう一度じっくり眺めてごらんなさい。 それから int a[1000]; も考え直しですね。 それから int main(){ としているのだったら 最後にintを返してください。
質問者
お礼
ご回答ありがとうございます。 しかし、既に何度もみていてわかってないので、もっと具体的なことを教えていただきたかったです。 あとintを返すとはどういうことなのですか? 知識不足なのに質問していて本当に申し訳ないです。
お礼
a[j]=1は盲点でした。情けないです。 j=i++の件は全然わかっていませんでした。 簡潔でわかりやすいご回答ありがとうございます。たしかに期待していた動作が実行されました。(^^)b