3つのことすべてを実行するプログラムを書く必要があります。それが完全な数であるかどうかを確認してください。書く方法1数値のすべての要素、要素の合計を出力し、それが完全な数であるかどうかをチェックするCプログラム
whileループのみを使用するはずですが、動作できないので、代わりにいくつかのForループを使用しました。それ以外に、私が持っている主な問題は、数字が完璧かどうかをプログラムがチェックすることです。
たとえば、1,2,3,6の合計値が12になる「6」と入力しますが、プログラムは「6」は完全な数ではないと考えます。私が間違っていた場所を見るために私のコードを見てください。
#include <stdio.h>
int main(void) {
int n, f, sum;
f = 1;
sum = 0;
printf("Enter number: ");
scanf("%d", &n);
printf("The factors of %d are:\n", n);
//Finding the factors of the given number
while (f <= n) {
if (n % f == 0) {
printf("%d\n", f);
}
f++; //f++ is the same as f = f + 1
}
//Finding the sum of the factors
for (f = 1; f <= n; f++) {
if (n % f == 0) {
sum = sum + f;
}
}
printf("Sum of factors = %d\n", sum);
//Checking if the number is perfect or not; A number is considered perfect if the sum of it's divisiors equal the number eg 6 = 1+2+3
for (f = 1; f < n; f++) {
if (n % f == 0) {
sum = sum + f;
}
}
if (sum == n) {
printf("%d is a perfect number\n", n);
} else {
printf("%d is not a perfect number\n", n);
}
return 0;
}
は、その後、あなたはそれが何をするか見るために線でのコード行もののステップ実行することができ、デバッガを使用する方法を学習し、彼らがどのように変化するか。 –
すべての 'for'ループは' while'ループに変換することができ、その逆もあります。 –