阿巴阿巴阿巴啊巴巴 2021-10-28 16:32 采纳率: 100%
浏览 42
已结题

求完数及其因子。为啥没有输出啊😭,求指点

#include <stdio.h>
#include <stdlib.h>

int main()
{
int N,i,n,s;
scanf("%d",&N);
for(n=2;n<=N;n=n+1)
{
s=0;
for(i=1;i<=n;i=i+1)
{if(n%i==0)
{s=s+i;}
}
if(s==n)
{printf("%d its factors are 1 ",n);}
for(i=1;i<=n;i=i+1)
{
if(n%i==0)
{printf("%d ",i);}
printf("\n");
}
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-10-29 08:19
    关注

    修改如下,供参考对照:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int N, i, n, s;
        scanf("%d", &N);
        for (n = 2; n <= N; n = n + 1)
        {
            s = 0;
            for (i = 1; i <= n/2; i = i + 1)//修改
            {
                if (n % i == 0)
                {
                    s = s + i;
                }
            }
            if (s == n)
            {
                printf("%d its factors are:1 ", n);
                for (i = 2; i <= n/2; i = i + 1)
                {
                    if (n % i == 0)
                    {
                        printf("%d ", i);
                    }
                }
                printf("\n");
            }
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月30日
  • 已采纳回答 10月30日
  • 修改了问题 10月28日
  • 修改了问题 10月28日
  • 展开全部