#include <stdio.h>
#include <stdlib.h>
main()
{
int i,j,n=0,a[100],k,q=0,p;
for(p=0;p<=100;p++)
{
a[p]=0;
}
for(i=1;i<=1000;i++)
{
for(j=1;j<i;j++)
{
if(i%j==0)
{
n=n+1;
a[n]=j;
}
}
for(k=1;k<=n;k++)
{
q=a[k]+q;
}
if(i==q)
{
printf("%d its factors are ",i);
for(k=1;k<=n;k++)
{printf("%d,",a[k]);}
printf("\n");}
n=0;
}
system("pause");
}
请帮我看下程序哪里错了?
答案:1 悬赏:80 手机版
解决时间 2021-07-30 10:59
- 提问者网友:练爱
- 2021-07-29 20:08
最佳答案
- 五星知识达人网友:罪歌
- 2021-07-29 20:57
#include <stdio.h>
#include <stdlib.h>
main()
{
int i,j,n=0,a[100],k,q=0,p;
for(p=0;p<=100;p++)
{
a[p]=0;
} //这里貌似 不管怎么循环 a[]都等于零!结果a[100]=0
for(i=1;i<=1000;i++)
{
for(j=1;j<i;j++)
{
if(i%j==0)
{
n=n+1;
a[n]=j; //这里的结果,貌似也是算出最后一个a[?]=j。
}
}
for(k=1;k<=n;k++)
{
q=a[k]+q;
}
if(i==q)
{
printf("%d its factors are ",i);
for(k=1;k<=n;k++)
{printf("%d,",a[k]);}
printf("\n");}
n=0;
}
system("pause");
}
最后,没看懂你要写什么呵呵,这么多for循环。
我很早以前学的c。呵呵,可能我说的不对!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯