输入10个数判断有几个完数c语言?

如题所述

完数是指一个数恰好等于它的因子之和,例如6就是一个完数,因为6=1+2+3。

以下是一个C语言程序,可以输入10个数,判断其中有几个完数:

程序首先提示用户输入10个数,然后使用一个for循环逐个读取这些数。对于每个数,程序使用另一个for循环计算它的因子之和,然后判断该和是否等于该数。如果等于,则该数是一个完数,否则不是一个完数。程序使用printf函数输出结果。

♡♡ 有帮助到的话,麻烦采纳哦!♡♡

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-17
完全数(Perfect number)是指一个正整数等于它的所有因数之和,例如6是一个完全数,因为6的因数为1、2、3,而1+2+3=6。

以下是在 C 语言中输入 10 个数并判断有几个完数的代码:

```c
#include <stdio.h>

int main() {
int num[10];
int i, j, sum;

printf("请输入10个数:
");
for (i = 0; i < 10; i++) {
scanf("%d", &num[i]);
}

for (i = 0; i < 10; i++) {
sum = 0;
for (j = 1; j < num[i]; j++) {
if (num[i] % j == 0) {
sum += j;
}
}
if (sum == num[i]) {
printf("%d 是完全数
", num[i]);
}
}

return 0;
}
```

首先,我们定义了一个数组 num 来存储输入的 10 个数,然后使用两个循环来判断每一个数是否为完全数。外层循环遍历数组中的每一个数,内层循环则计算该数所有因数之和。

最后,如果该数等于其所有因数之和,则说明该数为完全数,输出该数即可。
相似回答