• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語の問題を教えてください。初心者です。)

C言語初心者が100以下の素数を求めるプログラムについての質問

このQ&Aのポイント
  • C言語の初心者が100以下の素数を求めるプログラムについて質問です。自分で試してみましたが、うまくいきません。どこが間違っているのか教えてください。
  • 1000以下の整数を入力して、それ以下の素数を出力するC言語のプログラムを作成中ですが、うまくいきません。初心者なのでわかりやすく説明していただけると助かります。
  • C言語初心者です。1000以下の整数のうち、素数を出力するプログラムを作成していますが、うまくいきません。どこが問題なのか指摘していただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

>既に何度もみていてわかってないので、 ここまで書けるなら、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の数字以外を入力した場合への対処とかですね。

trokky
質問者

お礼

a[j]=1は盲点でした。情けないです。 j=i++の件は全然わかっていませんでした。 簡潔でわかりやすいご回答ありがとうございます。たしかに期待していた動作が実行されました。(^^)b

その他の回答 (2)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3
trokky
質問者

お礼

ご回答ありがとうございます。 自分のとは別に、模範解答的なものもみたかったので大変参考になりました。

  • 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を返してください。

trokky
質問者

お礼

ご回答ありがとうございます。 しかし、既に何度もみていてわかってないので、もっと具体的なことを教えていただきたかったです。 あとintを返すとはどういうことなのですか? 知識不足なのに質問していて本当に申し訳ないです。