加一個變量b
最后加上 b=0;
printf("它的因數(shù)為;");
while(b<a){
b++;
if(a%b==0)
printf("%d,",b);
}
可以求出因數(shù)[呲牙]
![]() ![]() 學(xué)習(xí)達(dá)人
|
xeniacoco
展開
|
![]() ![]() 打卡Lv2
|
樹葉的葉開心的開
展開
|
![]() ![]() 學(xué)習(xí)達(dá)人
|
hdylnpu
講師
展開
|
![]() ![]() 打卡Lv2
|
T770703lx
展開
|
![]() ![]() 打卡Lv1
|
u226152710
展開
#include <stdio.h>
void main()
{
int i,a;
printf("請輸入一個整數(shù)",a);
scanf("%d\n",a);
if(a>=2)
{ i=1;
while(i<=a)
{
a%i==0;
break;
i=i+1;
printf("您輸入的數(shù)字是素數(shù)%d\n",a);
}
}
else
{
printf("您輸入的數(shù)字不是素數(shù)%d",a);
}
}
老師 我的程序 問題出在哪里 ![]() 小恒無涯
展開
@ u226152710 1.第一個printf("");里面的,a刪掉
2.第二個printf 這個表達(dá)式在while的循環(huán)體中,會循環(huán)打印,應(yīng)該放到while的中括號外,if中括號內(nèi)
3.第二個printf 前少一個判斷語句,不是所有情況下都可以輸出的,應(yīng)該加if(i<a) ![]() hdylnpu
講師
展開
@ u226152710 (3)判斷的核心思想如下
假設(shè)1:a的值為25,25不能被2、3、4整除,25能被5整除,即當(dāng)循環(huán)進(jìn)行到i等于5時,滿足條件 break得到執(zhí)行,此時i的值取不到25。 |
![]() ![]() 學(xué)習(xí)達(dá)人
|
QQildzyif2a
展開
如果輸入2,會出現(xiàn)2不是素數(shù)。 ![]() hdylnpu
講師
展開
@ QQildzyif2a 你好,經(jīng)回看視頻和查看源代碼,多次運(yùn)行都是輸出“2為素數(shù)”。
經(jīng)試驗,如果將
if(i<a) 寫為 if(i<=a) 會輸出 2 不是素數(shù)。
你也可以將代碼貼出來,我看一下。 |
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。