1樓:匿名使用者
if(i%j==0)
if(i!=j)
break;
else
printf("%4d",i);
是這樣的:
if(i%j==0)
if(i%j==0 && i!=j)
break;
else
printf("%4d",i);
這個是這樣的:
if(i%j==0 && i!=j)
break;
else
printf("%4d",i);
第一個中,如果i%j != 0,那麼不會列印,但是第二個是會列印的。所以結果不同。
2樓:匿名使用者
看來是if else的就近匹配原則不熟悉啊,如果沒有被括號的強制配對,那麼 else 會和上一個 if配對
兩段**的分析如下
if(i%j==0)
if(i%j==0 && i!=j)
break;
else
printf("%4d",i); //當i%j!=0時,或者當i%j==0時,並且i==j時 都會執行這行**
3樓:
你把if後面的括號加上就能看清楚,
for(j=2;j<=i;j++)
這是錯誤的那種,由於if裡同時判斷兩個條件,所以會把很多不滿足條件的都列印出來,你就看到超多的數字。
for(j=2;j<=i;j++)
}這是正確的那種,先能整除,才能進來這個if,然後判斷是不是到了末尾。當然不一樣。
如何用c語言寫出100以內質數的程式
include include int ss int n 檢查n是否為素數,如果是則返回1,否則返回0 int main void printf total prime d j return 0 用c語言編寫一個程式,輸出1到100中的質數 include inlcude void main if ...
誰由1000以內質數表
u愛浪的浪子 質數表的 質數又稱 素數。指整數在一個大於1的 自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。換句話說,只有兩個 正因數 1和自己 的自然數即為素數。比1大但不是素數的數稱為 合數。1和0既非素數也非合數。素數在 數論中有著很重要的地位。質數表記憶口訣 方法一 兒歌記憶法 ...
100以內的質數有,100以內的質數有哪些啊?
第一類 20以內的質數,共8個 2 3 5 7 11 13 17 19。第二類 個位數字是3或9,十位數字相差3的質數,共6個 23 29 53 59 83 89。第三類 個位數字是1或7,十位數字相差3的質數,共4個 31 37 61 67。第四類 個位數字是1 3或7,十位數字相差3的質數,共5...