程序没问题,但是输出显示空白

img


上面是题目
#include
int main()
{
double a;
int n,k,s;
for(n=1;a<=1000;n++)
{
for(k=1,s=0;k<=n-1;k++)
{
a=n%k;
if(a=0)
{
s=s+k;
}
}
if(n=s)
{
printf("\n");
printf("n its factors are ");
for(k=1,s=0;k<=n-1;k++)
{
a=n%k;
if(a=0)
{
printf(" %d",k);
}
}
}
}
return 0;
}

改动处见注释,供参考:

#include <stdio.h>
int main()
{
    int a;  //double a;
    int n, k, s;
    for (n = 1; n <= 1000; n++)  //(n = 1; a <= 1000; n++)
    {
        for (k = 1, s = 0; k <= n - 1; k++)
        {
            a = n % k;
            if (a == 0)  //(a = 0)
            {
                s = s + k;
            }
        }
        if (n == s)  //(n = s)
        {
                     //printf("\n");
            printf("%d its factors are 1", n); //printf("n its factors are ");
            for (k = 2, s = 0; k <= n - 1; k++) //(k = 1, s = 0; k <= n - 1; k++)
            {
                a = n % k;
                if (a == 0) //(a = 0)
                {
                    printf(",%d", k);
                }
            }
            printf("\n");
        }
    }
    return 0;
}


我还没细看,不过你的条件判断那里应该要是==,改完后是我这是有输出的,不过你结果不对