首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请大家帮忙看看!该怎么处理

2012-05-20 
请大家帮忙看看!#include stdio.hvoid main(){int a,iint sum0for(i2i1000i++){for(a1aia++)

请大家帮忙看看!
#include "stdio.h"
void main()
{
int a,i;
int sum=0;
for(i=2;i<1000;i++)
{
 for(a=1;a<i;a++)
if((i%a)==0)sum=sum+a;

  if(sum==i);
  {
  printf("%d ",i);
  for(a=1;a<i;a++)
  if(i%a==0)
  printf("%d ",a);
  printf("\n");
  }
  }
  }

求1000以内的完数,运行出来几乎把每个数都输出了,不知道错在哪里!
请大家帮我看看!

[解决办法]

C/C++ code
int main(){    int a,i;    int sum=0;    for(i=2;i<1000;i++)    {        sum = 0;        for(a=1;a<i;a++)            if((i%a)==0)                sum=sum+a;        if(sum==i)        {            printf("%d ",i);            for(a=1;a<i;a++)                if(i%a==0)                    printf("%d ",a);            printf("\n");        }    }    system("PAUSE");    return 0;}
[解决办法]
#include "stdio.h"
void main()
{
int a,i;
int sum;
for(i=2;i < 1000;i++)
{
sum = 0; //对每一个i都要将sum置0
for(a = 1; a < i; a++)
{
if((i % a) == 0)
sum = sum + a;
}
if(sum == i) //这里不要分号
{
printf("%d ",i);
for(a=1;a<i;a++)
if(i%a==0)
printf("%d ",a);
printf("\n");
}
}
}

热点排行