酷代码 AI
菜单
服务商

用c语言输出1000以内全部“完数”,要求每行5个并统计个数

完数(Perfect Number)是指一个正整数,它等于其所有真因子(即除了自身以外的约数)之和。例如,6 是一个完数,因为 1 + 2 + 3 = 6。 下面是一个用 C 语言编写的程序,用于输出 1000 以内的全部完数,每行显示 5 个,并统计个数: ```c #include <stdio.h> // 函数声明 int isPerfectNumber(int num); int main() { int count = 0; // 计数器,用于统计完数的个数 int lineCount = 0; // 计数器,用于控制每行输出的个数 printf("1000以内的完数有:\n"); for (int i = 1; i <= 1000; i++) { if (isPerfectNumber(i)) { printf("%d\t", i); count++; lineCount++; if (lineCount == 5) { printf("\n"); lineCount = 0; } } } printf("\n总共有 %d 个完数。\n", count); return 0; } // 判断是否为完数的函数 int isPerfectNumber(int num) { int sum = 0; for (int i = 1; i <= num / 2; i++) { if (num % i == 0) { sum += i; } } return sum == num; } ``` 代码说明: 1. `isPerfectNumber` 函数:该函数用于判断一个数是否为完数。它通过遍历从 1 到 `num/2` 的所有数,检查这些数是否是 `num` 的因子,如果是则累加到 `sum` 中。最后比较 `sum` 是否等于 `num`,如果相等则返回 1(表示是完数),否则返回 0。 2. 主函数 `main`:在主函数中,我们使用一个循环从 1 遍历到 1000,对于每个数调用 `isPerfectNumber` 函数进行判断。如果是完数,则打印出来,并增加计数器 `count` 和 `lineCount`。当 `lineCount` 达到 5 时,换行并重置 `lineCount`。 3. 输出结果:程序会输出 1000 以内的所有完数,每行最多显示 5 个,并在最后输出完数的总个数。 运行这个程序,你将看到 1000 以内的完数以及它们的总数。 [2024-10-28 17:01:27 | AI写代码神器 | 622点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]