私はここで新しいプログラマーです。私は1から10,000の範囲で完璧な数字を印刷するプログラムを書こうとしており、完全な数で割り切れるすべての数字をリストアップしています。私はコードのプリセットを与えられ、底は私が現在持っているものです。何が間違っているのですか(何らかの構文がない場合)?関数とプリセットコードを使用して完全な数値を見つける
#include <stdio.h>
int perfect(int);
void list_perfect(int);
int main() {
int i;
for (i=2; i<10000; i++) {
if (perfect(i)) {
list_perfect(i);
}
return 0;
}
int perfect(int number) {
}
void list_perfect(int number) {
}
現在コード:
#include <stdio.h>
int perfect(int);
void list_perfect(int);
int main() {
int i;
for (i=2; i<10000; i++) {
if (perfect(i)) {
printf("These are the perfect numbers:\n");
list_perfect(i);
}
}
return 0;
}
int perfect(int number) {
int sum;
int k;
sum = 0;
for (k=2; k<number; k++) {
if(number%k==0) {
sum += k;
}
}
if(sum == number)
return sum;
else
return 0;
}
}
void list_perfect(int number) {
if(perfect(number)) {
printf("%d", number);
}
}
何かがここで間違っている:あなたは二回完全数を計算しています。 'list_perfect'は'完璧 'への呼び出しを行い、もしあればそれを表示します。 –
これは「無料のコードをデバッグする」ではありません! –
すみません、私は無意識です – Mariner12