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函式一直在迴圈 你這個 沒錯!但是!之所以你得不到答案,原因無非如下 你應該是如下方式輸入 for example 43 57 然後按enter鍵 於是,結果顯然為43了。錯誤原因 這是由於你不了解scanf 函式的結果造成的。你仔細看看,你在定義scanf 時,不是scanf d d a,b 而是scanf d,... 最後一個花括號前加上 system pause c語言程式可以執行,但不顯示結果 while m 1 這個是不是有問題,如果是判斷m等於1,應該是m 1 這個是賦值語句。無縮排 無註釋 無空格 不答不解釋 也要先說說你的程式是想要完成什麼功能,這樣看起來比較方便啊 給點註解之類的吧 實在不懂什麼意思... 一頁凌風 樓上說法有些錯誤。首先,mian函式作為主函式是程式的入口沒錯,但是它其實一定要被其他函式呼叫的,這些函式就是進入程式之前的引導。所以,有的時候,我們會發int返回值的main函式內不甚至用了引數,這些引數也是可以預設的,但實際上都被預設值了,引導程式在呼叫main函式的時候必須獲取這些值...請問該c語言程式哪錯了,結果為什麼總是先輸入的數而不是大的那個一
為什麼我執行C語言後,顯示不到結果
為什麼我學的c語言在定義main函式時,前面沒有