
知道如何找因数,但不知道如何用for结构来判断是否为完数,并且按要求输出😭
#include<stdio.h>
int main()
{
int i, j, s, n; /*变量i控制选定数范围,j控制除数范围,s记录累加因子之和*/
int a[100],l;
scanf("%d", &n); /* n的值由键盘输入*/
for( i=2; i<n; i++ )
{
l=0;
s=0; /*保证每次循环时s的初值为0*/
for( j=1; j<i; j++ )
{
if(i%j == 0) /*判断j是否为i的因子*/
{
s += j;
a[l++] = j;
}
}
if(s == i) /*判断因子这和是否和原数相等*/
{
printf("%d:", i);
for (j = 0; j < l; j++)
printf("\t%d", a[j]);
printf("\n");
}
}
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!