1樓:匿名使用者
factorsum(int x)
main() }
注:如果想輸出的數中不相等,在第2個填空處改一下if(factorsum(j)==i&&i!=j)解釋說明:按上方提示順序
1.首先factorsum()函式的作用是求出乙個數的因子之和。根據例子說明很顯然因數不包括數本身,所以在填空處為i 2.此處為程式錯誤,x是主函式傳過去的數,目的是要求此數因數的和,經過迴圈,凡是能被x整除的i就是x的因數,而y就是將x各個因數累加的和,所以應該改為:y=y+i; 3.此處填空原因是:根據題目所說,只有甲的因數和=乙同時乙的因數和=甲,甲乙才是一對親密數。 所以題目主函式中i經過factorsum()後,其因數和附給j,此時,我們需要將j再經過factorsum()得出其因數和與i的值進行比較,若相等則說明他們是一對親密數字。 輸出結果為: 6,628,28 220,284 284,220 496,496 1184,1210 1210,1184 2樓:陽光上的橋 第一處:i<=x 第二處:i==factorsum(j) 你們老師的答案可能就是這樣,但是程式確實錯了,錯不是因為我填錯了,而是出題的人就出錯了。這裡的因子應該除開1和它本身,否則乙個數的因子之和要比它本身大,那就不可能出現親密對數。 舉個例,6的因子之和就應該為5,而不能是11,否則就沒有親密對數,修改完善後的程式如下,在sco unix上執行通過: $ cat a.c /*程式**開始*/ int factorsum(int x) main() }/*程式**結束*/ $ cc a.c $ a.out 48,75 75,48 140,195 195,140 1050,1925 1575,1648 1648,1575 1925,1050 $我第乙個空之所以填錯,是因為程式自己寫的i=1誤導了我,應該i=2,否則無解。 3樓: 一樓的朋友你說錯了,6的因子之和為6,你還不知什麼是因子吧,如:6=1+2+3 看看我的回答吧,可能不對,請大家指點。 int factorsum(int x) main() } 4樓:張凱 一樓的第二個空是否應填 i==j 因為j=factorsum(i); (已經付值了)再用j=factorsum(i); 那樣程式將再呼叫一次浪費資源,用i==j;就可以了 你必須使用陣列來實現資料的結構為例stud number 20 20 stud name等等 學生成績管理系統是用來管理班級成績。有一些資訊在系統如下 學生 學生姓名 學生性別,c 得分,vb得分,電腦維修,平均得分,總分。實現簡單的功能 選單是 1 輸入學生的分數從鍵盤或從檔案 您可以建立子選單,... 第乙個引數需要填寫的是 myout.txt 檔案檔案路徑及檔名 第二個引數則代表著流形態,其中有以下幾種狀態 r 開啟唯讀檔案,該檔案必須存在。r 開啟可讀寫的檔案,該檔案必須存在。rb 讀寫開啟乙個二進位制檔案,只允許讀寫資料。rt 讀寫開啟乙個文字檔案,允許讀和寫。w 開啟只寫檔案,若檔案存在則... 思路基本沒錯,也基本正確,個別地方出錯了。1 由於acm是先全部輸入再統一輸出,你用乙個max來儲存肯定有問題,可以需要事先宣告乙個陣列來儲存結果。下面 裡是用動態記憶體申請陣列。2 就是排序比較的時候,你有個問題,估計是手誤 if i t 實際上應該是if j t 因為i是外層迴圈,j才是你要排序...c語言程式請教,C語言程式設計請教 編寫一個程式,
請教C語言問題,請教乙個C語言問題
請教C語言問題,求高手指教,請教乙個C語言問題,求高手指教