C++程序,帮忙改错!

来源:百度知道 编辑:UC知道 时间:2024/07/02 23:13:53
#include<iostream.h>
#include<math.h>
void main ( )
{ int a , b , c , sum ;
cout << "1000以内所有完数: " << endl ;
a = 0 ;
b = 1 ;
sum = 0 ;
while (a <= 999 )
{ a = a + 1 ;
do
{c = a % b ;
switch(c )
{case 0 : sum = sum + b ;
default : sum = sum ;
}
b++ ;
}while (b <= (a / 2 ) ) ;
if ( sum = a ) cout << sum << ends ;
}
}
那个程序的语法等是没有问题的,补充一下是要求出1000以内的完数,完数就是除本身以外所有的因子的和等于它自己的数...

这个程序运行以后它就将1~1000的所有数字都列出来了...
急!

#include<iostream.h>
#include<math.h>
void main ( )
{ int a , b , c , sum ;
cout << "1000以内所有完数: " << endl ;
a = 1 ; /******************************/
b = 1 ;
sum = 0 ;
while (a <= 999 )
{ a = a + 1 ;
b = 1; /******************************/
sum = 0 ; /******************************/
do
{c = a % b ;
switch(c )
{case 0 : sum = sum + b ; break; /******************************/
default : sum = sum ;
}
b++ ;
}while (b <= (a / 2 ) ) ;
if ( sum == a ) cout << sum << ends; /******************************/
}
system("PAUSE");
}

if ( sum = a ) cout << sum << ends ; 改成
if ( sum = a ) cout << sum << endl ;

if ( sum = a ) cout << sum << ends ;
改成:
if ( sum == a ) cout << sum << endl ;

if ( sum = a ) cout << sum << e