C++程序,帮忙改错!

#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");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-23
if ( sum = a ) cout << sum << ends ; 改成
if ( sum = a ) cout << sum << endl ;
第2个回答  2009-04-23
if ( sum = a ) cout << sum << ends ;
改成:
if ( sum == a ) cout << sum << endl ;
第3个回答  2009-04-23
if ( sum = a ) cout << sum << ends ; 改成
if ( sum = a ) cout << sum << endl ;
第4个回答  2009-04-25
h
第5个回答  2009-04-25
没学过

求帮忙修改c++程序,下面是用栈计算后辍表达式值的程序,请把错误和为...
\/\/int calculation(String B,pseqstack pastack) String C里没有这个类型的,C++里是string,改成char*试了下 int calculation(char* B,pseqstack pastack){ \/\/char a[];数组声明时必须有确定的大小,因为不知道大小,我就瞎写了个 char a[1000];\/\/int i,n,a,b,c;上面已经定义了一个字...

求帮忙修改c++程序,下面是用栈计算后辍表达式值的程序,请把错误和为...
你的代码只要支持1位数的加减乘除吗?你的代码错误很多,声明和调用混乱,还有一些其他语法和逻辑错误。我时间不多,只改了程序,没时间加注释和说明了。你使用UltraCompare对比程序查找修改部分吧。include "stdio.h"include "stdlib.h"include "string.h"include "malloc.h"typedef int DataType;struct ...

c++程序的代码错误,请帮忙纠正以下并注解,还会出先这两个错误,求解
3. 无法启动程序“。。。”。这是VS在提醒你你的工程没有编译出3.exe这个可执行程序用以调试。请先检查代码,检查编译环境,完成编译后,再进行调试。你这里,没有3.exe是无法进行调试的。

帮忙改一下这个c++程序
你的明显是有问题哈,下面就你的错误我改一下(注:没有主函数,)include<iostream.h> class Tdate { public:void setdate(int y,int m,int d);void adddate();int leapyear();void print();private:int yy,mm,dd,leap;};void Tdate::setdate(int y,int m,int d){ yy=y;mm=m;dd=d...

找出下面程序中的错误,改正,并运行得到输出结果。(C++)
\/\/obj.setx(10); 此处为用户程序,obj不可访问base中的成员 \/\/obj.showx();obj.setxy(20,30);obj.showxy();return 0;} 2、include <iostream> using namespace std;class X{ public:void setX(int x){ a=x;} void showX(){ cout <<"a="<<a<<endl;} private:int a;};class...

这个c++小程序那里出错了,请改正
include<iostream> using namespace std;int add(int x,int y) ; \/\/ main看不到add函数,因为它在后面,所以可以提前声明一下就好了。int main(){ int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b"<<c<<endl;return 0;} int add(int x,int y){ int z;z=x+y;return z;} ...

是关于C++ 中用new分配一个“学生”结构体变量 程序中有错误 请帮忙改...
include <string> using namespace std; \/\/ 加一句这个 struct Student { string name;int num;char sex;};int main( ){ Student *p;p=new Student;p->name="Wang Fun";p->num=10123;p->sex='m';printf("%s \\t %d \\t %c",p->name,p->num,p->sex);delete p;return 0;} ...

c++改错 以下程序的功能是:求一维数组中最大的数并输出其值.其中函数...
pmax=p[i];return *pmax;}void print(double *p[], int n){for(int i=0;i<n;i++)cout<<*p[i]<<'\\t';cout<<endl;}void main(){ double a[9]={22.2, 55.5,33.3,11.1,99.9,77.7,66.6,88.8,44.4}; double *p[9]; int i; for(...

我编了一个C++程序,有错,请大师们指点指点
方法:例如在C语言程序中,语句“while(1)printf("*");”就是一个死循环,运行它将无休止地打印*号。不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环。因此,任何编译系统都不做死循环检查。在设计程序时,若遇到死循环,我们可以通过按下Ctrl+Pause\/Break的方法,结束...

求c++高手帮忙找程序错误,问题是一个大写字母执行完后变成两个小写字母...
void main(){ int i;char a[20];cout<<"请输入字符串"<<endl;cin>>a;for(i=0;i<20;i++){ if(a[i]>64&&a[i]<91){ a[i]+=32;cout<96&&a[i]<123)cout<<a[i];} cout<<endl;}

相似回答
大家正在搜