輸出100以內所有完數,C語言。

時間 2023-01-27 17:50:03

1樓:飛喵某

1、首先開啟vs 2017軟體,開啟一個準備好的工程,新建一個c語言檔案,先寫入標頭檔案和main函式,裡面定義需要的用到的4個變數。

2、然後先定義一個for迴圈遍歷100以內的所有數,利用條件語句進行判斷j是不是i的因子,是的話就相加,判斷完成後在判斷因子是不是和原來的數相等即可,盤點完輸出完成判斷的數字,如此往復直到判斷完100個數為止。

3、最後按crtl+f10執行程式,可以看到100以內的完數都輸出了。

2樓:莫道無情

#include

int main()

int x, i, sum;

for (x = 3; x <=1000; x++)sum = 1; /初始化sum

for (i = 2; i <=x/2 ; i++)從2開始,1不是完數。

if (x%i ==0)sum +=i;

if (sum ==x)printf("%d its factors are 1 ",x);/找到完數,感覺是為了「,」處理方便,所以在這裡的末尾加了1

if (sum ==x)

for (i = 2; i <=x / 2; i++)if (x% i ==0)printf(",d ",i);/找到完數的因子。

printf(""

return 0;

3樓:吉祥二進位制

簡單的寫了一個,原始碼如下:

#include

int main()

{int i,j;

int sum;

for(i=1;i<=100;i++)

{sum=0;

for(j=1;j

執行結果如下:

4樓:月光疾風

#include

int perfectnum(int);

int main()

;for(int i=1;i<=100;i++)printf("100以內的完全數有%d個,分別如下:",count);

for(i=0;i

5樓:阿蒙同學

#include

int main()

if (sum==n)

printf("%d\t",n);}

100以內的完全數只有1+2+3=6 ,1+2+4+7+14=28兩個數,你試試行不行。

用c語言編寫一個輸出100以內的完數的程式

6樓:聽不清啊

請對比修改的地方:

#include""

main()

printf("100以內有%d個完數",sum);

7樓:匿名使用者

你的sum從一開始賦值了1之後就沒有任何改變,我沒看懂輸出sum的值有什麼意義。

8樓:倒黴熊

你sum始終是1,你程式中又沒有改變。

#include""

main()

if(c==0) printf("%d",i);}

9樓:網友

#include

main()

if(sum==i)

printf("%d",i);}

s試試 我的吧 我已經 確認過了 應該還蠻容易懂的。

用c語言輸出1000以內所有的完數

10樓:我叫王土土豆

用c語言輸出1000以內所有的完數步驟如下:

1、首先開啟,新建一個專案。

2、新增標頭檔案。

3、新增main函式。

4、定義i,j,k,n,sum。

5、定義一個陣列。

6、使用第一層for迴圈。

7、使用第二層for迴圈,用來求出每位的數字。

8、使用if條件判斷語句。

9、執行程式看看結果。

11樓:free憂鬱小生

#include

//構造一個方法用來自動向陣列中新增新元素;

void add(int a,int j)}}void main()

}if(sum==n)

printf("%d",m[i]);

}}else}}}

12樓:12阿

你的if函式一直在迴圈。

用c語言程式設計:輸出2~100之間所有完數,完數是指該數各因子之和等於該數本身

13樓:做而論道

//一個數如果恰好等於它的因子之和,這個數就稱為「完數」。

//例如6的因子為1、2、3,而6=1+2+3,因此6是「完數」,/程式設計找出1000以內的所有完數:

#include

void main()

}程式執行結果:628496

c語言,求一個程式,輸出所有1000以內的完數

編寫程式:找出100以內的所有完數

14樓:做一個快樂的茶農

1、首先開啟,新建一個專案。

2、然後新增標頭檔案。

3、接著新增main函式。

4、然後定義i,j,k,n,sum。

5、接著定義一個陣列。

6、然後使用第一層for迴圈。

7、接著使用第二層for迴圈,用來求出每位的數字。

8、使用if條件判斷語句。

9、最後執行程式看看結果。

15樓:丿佔戈灬龍哥

完全數(perfect number),又稱完美數或完備數。它所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等於它本身。如果一個數恰好等於它的因子之和,則稱該數為「完全數」。

#include ""

int main()

return 0;}

用c語言 輸出1~1000的所有完數

c語言求100以內的完數,我寫了是這種情況,不明白**錯了,求原因

16樓:網友

**沒有語法錯誤,唯一的就是如果呼叫庫中的標頭檔案應該用<>;而不是"";但是也沒有什麼影響;我不知道什麼叫完數;但是你試下數就知道了;i=1的時候,j=1;裡層迴圈條件不成立;i=2的時候,i=1條件成立,sum=1;sum==i的條件不成立,所以不會輸出;i=3的時候sum =2;i=4的時候sum=5; i=5的時候sum=6;剛好每次sum都巧妙地跳過了i的值;所以一直不會輸出。

17樓:萌萌水月喵

第二個if語句放到第一個for迴圈li而不是第二個。

第二個for迴圈裡還要加上sum=0; 你這樣會一直累積。

c語言輸出所有水仙花數,C語言程式設計輸出所有的「水仙花數」。

我是比丘猴 樓主你好 按照你的程式,你可能對於水仙話數有誤解.首先,水仙花數是指一個 n 位數 n 3 它的每個位上的數字的 n 次冪之和等於它本身。例如 1 3 5 3 3 3 153或3 3 7 3 0 3 370 注意 是每個 位上 的數字。而你的原 寫的效果是,例如第一次迴圈1 3 10 3...

C語言 輸出100以內所有能被3或5或7整除的數

for i 1 1 100 1 5和7同理,最近學別的語言,因為沒有軟體,格式啥的可能不太規範。思路是這樣的。int i 1 for i 1 i 100 i if i 3 0 i 5 0 i 7 0 printf d i c語言 程式設計求100至300間能被3,5,7同時整除的數,求這些數的和並將...

c語言 輸出100以內的素數 break的用法為什麼會有這

安然而止 if i n 的意思是判斷被除數是否小於除數,如果小於當然是不用再進行下去了。這個式子寫成if i n 2 更好,可以少算幾步。 每次從if n i 0 break 迴圈裡逃出來迴圈都能有2中結果,一 被i整除了,直接被break跳出i迴圈,這時程式還會往下跑,就有必要遮擋下對n的列印 我...