int main()
{
int a,b,c,i;
a=1; //1 不是完数 从2开始。
i=1;
while(a<=999) //这里的分号去掉
{
a++;
c=0; //每次都设置为0
i=1; //每次的因子都是从1开始
do
{
b=a%i;
if(b==0)
c+=i;
i++;
}while(i!=a);
if (c==a)
cout< }
return 0;
}
你的 c 没有初始化啊,一开始没有赋值 哪来的 c+=i;
while (a<=999);
a的初始值是0,明显死循环了,while后面不要分号就能往下执行了
while (i!=a); //这里没有循环体,无限循环了。