问题描述
- C语言完数问题,新手求指点~谢谢
-
C语言课后习题,求1000以内的完数,按以下格式输出: 6 its factors are 1,2,3
为什么我改成和答案一样的都输出空.,
代码如下:#include
int main()
{
int m,i,s;
for(m=2;m<1000;m++)//2-1000个数
{
s=0;
for(i=1;i<=m;i++)
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
}
return 0;
}
运行截图如下:
解决方案
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案二:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案三:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案四:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案五:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案六:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案七:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案八:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案九:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来
解决方案十:
if((m%i)==0)s=s+i;
if(s==m)
{
printf("%d,its factors are",m);
for(i=1;i<m;i++)
if(m%i==0) printf("%d",i);
printf("n");
}
次代码用{}裹起来