我有一個作業,但我無法得到答案我需要用 C 撰寫一個程式...這是需要的:您需要輸入“n”自然數作為輸入,并且從所有小于“n”的自然數中輸入,它需要列印除數之和最高的數字。對于 exp: INPUT 10 , OUTPUT 8 任何人都可以幫助我嗎?我真的很感激 !
我嘗試撰寫一個程式來查找數字的除數,但我離這里很遠
#include <stdio.h>
int main() {
int x, i;
printf("\nInput an integer: ");
scanf("%d", &x);
printf("All the divisor of %d are: ", x);
for(i = 1; i < x; i ) {
if((x%i) == 0){
printf("\n%d", i);
}
}
}
uj5u.com熱心網友回復:
我已經實作了使用函式,該函式將從用戶那里獲取輸入數字,然后回傳除數之和。希望這是你要找的
/* function to return of sum of divisor
** input: x: integer number from user input
** return sum: sum of divisor of x
*/
int sum_of_divisor(int x)
{
int sum = 0;
for(int i = 1; i < x; i )
{
if((x%i) == 0)
{
printf("%d\n", i);
sum = sum i;
}
}
return sum;
}
int main() {
int x, i;
printf("\nInput an integer: ");
scanf("%d", &x);
printf("All the divisor of %d are: ", x);
printf("the sum of divisor is %d ", sum_of_divisor(x));
return 0;
}
輸出:
Input an integer: 10
All the divisor of 10 are: 1
2
5
the sum of divisor is 8
uj5u.com熱心網友回復:
檢查是否i是 的除數后x,您應該將該值存盤在另一個變數中,例如m。
重復直到一個新的除數i高于該數字。將此新值添加到m.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/530473.html
標籤:C
