這段程式哪錯了?要求輸出1000以內非素數

2022-03-03 09:39:00 字數 729 閱讀 5536

1樓:匿名使用者

內迴圈:

for(y=1;x%y!=0;y++)

printf(「%d」,x-1);

這個邏輯問題有點多吧。

首先,x%y!=0;y++ 這個條件能識別質數和合數嗎?

例如質數3,能被識別嗎?當x=3,y是可以到3的,此時x%y!=0;但3是素數。

其次,printf(「%d」,x-1);即使識別到x是非素數,那也該輸出x吧,為什麼輸出x-1呢?

個人認為:

既然輸出非素數,就把素數剔除掉,剩下的就是了。

大致是:

char fg_sushu;//增加一個素數標誌printf(「%d    」,1);//輸出1這個特例for(x=2;x<1000;y++)

{fg_sushu=0;//設定素數標誌初值   0為素數,1為合數for(y=2;y

手裡沒有環境,未對**驗證,但思路應該沒有問題。

供參考。

2樓:

內迴圈的y從1開始,將導致輸出結果為:

0 1 2...999

寫過一個程式給你:

#include

#include

int main()}}

return 0;

}自己編譯一下吧,祝你成功!

3樓:

y的值應該是從2到x-1,x%y!=0不能作為迴圈條件

C 這個程式哪裡錯了

錯誤提示不是已經告訴你了呀 isvalid 函式不接受 0 個引數就是說呼叫這個函式的時候,少了引數,把引數按照定義.補上即可.出現問題,要看提示.就像什麼操作,不會就先看一下幫助,是一樣的道理.不然什麼問題都要問別人了,自己就提高的慢了.謝謝.希望對你有幫助.e program c exercis...

這段話出自龍應臺的哪本書裡嗎孩子,我要求你讀書用功,不

出自 親愛的安德烈 第二十八封 給河馬刷牙 的最後。親愛的安德烈 是當代作家龍應臺和其子安德烈互通書信的結集 首次出版於2008年12月。親愛的安德烈 共收錄35封書信,呈現了母子兩代人心靈的碰撞以及中西不同文化對個體思想意識的影響,記錄了兩代人試圖消除隔閡與衝突的努力,也為中西文化的碰撞提供了一個...

請問這個C 程式哪裡錯了

1全部 include using namespace std int main else else else else 缺了這個反括號 可以不用這麼多的括號 if score 90 cout grade a else if score 80 cout grade b else if score 7...