PTA第六章复习程序填空

输出 1 到 100 之间的所有完数。要求定义和调用函数is(n)判断n是否为完数,若n为完数则返回1,否则返回0。完数就是因子和与它本身相等的数,6是完数(6=1+2+3),1不是完数。

#include <stdio.h>
int main(void)
{   int i;    
    int is(int n); 
		
    for(i = 1; i <= 100; i++)
        if( is(i) )
            printf("%d ", i);
    return 0;
}
int is(int n)
{   int i, sum;

    **if(n==1)return 0;**//下段程序中i=1;无法判断1.
    sum = 0;
    for(i = 1; i <= n/2; i++)
        if(**n%i==0**)//判断是不是因数
            sum = sum + i;
    if(**sum==n**) 
	return 1;
    else 
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43668278/article/details/84586040
今日推荐