c語言列印完數,我為什麼錯了,如何用C語言列印1000以內的完數?

時間 2022-02-25 08:45:12

1樓:匿名使用者

兩個錯誤,

1、完數計算是從1開始,不是從2,所以for(a=2;a

2、在你的main中,你的for(b=1是計算i能否被b整除,所以if(a%b==0)需要改為if(i%b==0)

3、另外原來的數字與後面因子沒空開,printf("%d",i);可以改為printf("%d=",i);

2樓:聽不清啊

#include

int fun(int n)

{ int a,b=0;

for(a=1; a{ if(n%a==0){ b=b+a;

return b; //有修改

int main()

{ int a,b,c,i,n,m;

for(i=2; i<=1000; i++){ if(i==fun(i))

{ printf("%d=1",i); //有修改for(b=2; b{ if(i%b==0) //有修改{ printf("+%d",b); //有修改printf("\n");

如何用c語言列印1000以內的完數?

3樓:匿名使用者

// 本程式演示乙個數如果恰好等於它的因子之和,這個數就稱為「完數」。例如6=1+2+3.程式設計找出1000以內的所有完數

#include"stdio.h"

main()

}if(s==i) //因子的和與原數比較,如果正確就輸出}printf("完數的個數:%d\n",sum);}

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

4樓:我叫王土土豆

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

1、首先開啟vc6.0,新建乙個專案。

2、新增標頭檔案。

3、新增main函式。

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

5、定義乙個陣列。

6、使用第一層for迴圈。

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

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

9、執行程式看看結果。

5樓:聽不清啊

#include

int main()

{ int i,n,sum;

for(n=1; n<=1000; n++){ sum=0;

for(i=1; i

6樓:free憂鬱小生

#include

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

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

}if(sum==n)

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

}}else}}}

7樓:

#include

int main(void)

if(i==sum) printf("%d ",i);

sum=0;

}return 0;}

8樓:12阿

你的if函式一直在迴圈

請問該c語言程式哪錯了,結果為什麼總是先輸入的數而不是大的那個一

你這個 沒錯!但是!之所以你得不到答案,原因無非如下 你應該是如下方式輸入 for example 43 57 然後按enter鍵 於是,結果顯然為43了。錯誤原因 這是由於你不了解scanf 函式的結果造成的。你仔細看看,你在定義scanf 時,不是scanf d d a,b 而是scanf d,...

為什麼我執行C語言後,顯示不到結果

最後一個花括號前加上 system pause c語言程式可以執行,但不顯示結果 while m 1 這個是不是有問題,如果是判斷m等於1,應該是m 1 這個是賦值語句。無縮排 無註釋 無空格 不答不解釋 也要先說說你的程式是想要完成什麼功能,這樣看起來比較方便啊 給點註解之類的吧 實在不懂什麼意思...

為什麼我學的c語言在定義main函式時,前面沒有

一頁凌風 樓上說法有些錯誤。首先,mian函式作為主函式是程式的入口沒錯,但是它其實一定要被其他函式呼叫的,這些函式就是進入程式之前的引導。所以,有的時候,我們會發int返回值的main函式內不甚至用了引數,這些引數也是可以預設的,但實際上都被預設值了,引導程式在呼叫main函式的時候必須獲取這些值...