c语言编写程序 计算出1000以内的所有完数。要求每个数输出在一个制表区。完数:一个数如果恰好等于它的所有因子之和,则称为完数
时间: 2023-11-25 20:04:15 浏览: 151
以下是使用C语言编写的程序,可以计算出1000以内的所有完数,并将每个完数输出在一个制表区:
```c
#include <stdio.h>
int main()
{
int i, j, sum;
printf("1000以内的完数有:\n");
printf("--------------------\n");
for(i = 1; i <= 1000; i++)
{
sum = 0;
for(j = 1; j < i; j++)
{
if(i % j == 0)
{
sum += j;
}
}
if(sum == i)
{
printf("%d\t", i);
}
}
printf("\n--------------------\n");
return 0;
}
```
程序的执行过程如下:
1. 首先,程序使用两个循环变量i和j来遍历1到1000之间的所有数。
2. 在每次循环中,程序又使用循环变量j来遍历1到i-1之间的所有数,判断j是否是i的因子。
3. 如果j是i的因子,则将j累加到sum变量中。
4. 在内层循环结束后,如果sum等于i,则说明i是一个完数,将i输出到制表区。
5. 外层循环继续执行,直到遍历完1到1000之间的所有数。
6. 最后,程序输出一个制表区的分割线,表示完数的输出结束。
运行上述程序,输出结果如下:
```
1000以内的完数有:
--------------------
6 28 496
--------------------
```
阅读全文