#include<iostream> using namespace std; int main(

#include<iostream> using namespace std; int main() {int i,j,r; for(r=0,i=2;i<=1000;i++) {for(j=1;j<i;j++) if(!i%j) r=r+j;} if(i==r) cout<<i<<endl; return 0;}
输出二到一千之间的完数 为什么得不到结果

因为循环结束后 i≠r,所以if(i==r) 判断为假,没有执行输出语句,就没有结果了

for(r=0,i=2;i<=1000;i++)
{
for(j=1;j<i;j++)
if(!i%j) 
r=r+j;
}
// 这时r = 0 ,i = 1001
if(i==r)     
cout<<i<<endl;

另外,如果是想判断i与j的模为0时执行的话,

if(!i%j)

应该改为

if(!(i%j))


求2至1000之间的完数的代码可以参考这里:

http://zhidao.baidu.com/link?url=DGyDJxzE900Rvvug4qLqdGgqIWiZ83XE7QaNL5V-S0WZiQwUr_Vdz87KiTN-bfez25ArUJ7eCJxI1dCj7rLRKK


请采纳

追问

当i==r时 i的值为什么输不出来

追答

如果i==r是会输出的,问题在于i≠r,所以没有执行

cout<<i<<endl;

可以自己在if(i==r) 这句前面加上

cout<<r<<endl;
cout<<i<<endl;

看看此时的r和i值是多少就能明白了,这也是一种常用的调试技巧

追问

为什么 6输不出来呢

追答

6输不出来是什么意思?

追问

就是 程序在运行的时候 得不到结果 啥都没有

追答

已经说过了啊,因为没有执行cout语句,当然啥都没有了啊

好好检查一下你的程序的逻辑和流程

参考一下给你链接的那个程序吧


这里稍微改了一下,供参考

#include<iostream>
using namespace std;
int main()
{
int i,j,r;
for(i=2;i<=1000;i++)
{
for(r=0,j=1;j<i;j++)
if(!(i%j))
r=r+j;
if(i==r) 
cout<<i<<endl;
}
//if(i==r)
// cout<<i<<endl;
return 0;
}

追问

加注释 做什么

追答

注释掉就是不编译不执行啊少年......
要先看看C/C++的语法再开始编程啊.......

追问

我到时候 运行看下

谢谢啊

#include using namespace std;int main(){int i,j,k;for(i=1;i=0;i--){for(k=1;k<=5-i;k++)cout<<""<<endl;for(j=1;j<=2*i-1;j++)cout<<'*';}//for(k=1;k<=5;k++) cout<<""<<endl;return 0;}

我想用星号输出一个九行的菱形 结果得到上面那个

帮我看看

追答#include <iostream>
using namespace std;
int main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(k=1;k<=5-i;k++)
cout<<" ";  // 引号里有一个空格
for(j=1;j<=2*i-1;j++)
cout<<'*';
cout<<endl;         // 输出一行后再换行
}
//for(k=1;k<=5-i;k++) cout<<""<<endl;
for(i=4;i>=0;i--)
{
for(k=1;k<=5-i;k++)
cout<<" ";
for(j=1;j<=2*i-1;j++)
cout<<'*';
cout<<endl;
}
//for(k=1;k<=5;k++) cout<<""<<endl;
return 0;
}

注意编程的格式

追问

谢谢

数组指针中的元素可以给指针变量赋值吗

追答

应该是指针数组吧
指针数组的元素是指针
指针变量存储的是指针
所以指针数组的元素可以赋给指针变量
在使用指针的时候需要小心一点

温馨提示:内容为网友见解,仅供参考
无其他回答

#include <iostream> using namespace std; int main() { int a,m...
结果是16,当i=‘e’时第一个循环最后一次运行,e在ascII中是101;for (j=5;j>=0;j--)m+=(i-100)*j;相当于 for (j=5;j>=0;j--)m+=(101-100)*j;m初始值为1;所以m=5+4+3+2+1+1=16

#include<iostream>using namespace std;int main()是什么意思_百度知 ...
include <iostream>是包括了一个头文件,包括了这个头文件以后,就可以调用std::cout和std::cin来对程序进行输入输出操作。using namespace std;是使用命名空间,使用以后,本来应该写成std::cout的,现在在程序里面可以写成cout了,具体请参考命名空间。int main()是主函数名。

#include <iostream> using namespace std; int main()
函数要定义返回值,如果返回值为void,则函数中可以省略return;否则一定要有显式的return。你的函数huafeng()的实现既没有在前面注明返回值,内部也没有return。需要修改一下。

# include <iostream> using namespace std; int main( ) { cout<...
include <iostream> using namespace std; int main() { cout << "this is a C++ program."; return 0; } 在编译系统里,宏是首先被宏处理器处理,得到完整的C++源代码文件,然后再由编译器处理……。所以,除了宏所必须的部分,C++代码不能得宏在同一行。有的时候,你用Unix系列的操作系统编...

#include <iostream> using namespace std; int main() { int a,b...
include <iostream> using namespace std;int main(){ int a,b,c;int f(int x,int y,int z);cin>>a>>b>>c;c=f(a,b,c);cout<<c<<endl;return 0;} int f(int x,int y,int z){ int m;if(x<y) m=x;else m=y;if(z<m) m=z;return(m);} ...

#include <iostream> using namespace std; int main( ) {
答案为1 注意++a返回a+1,a++返回a,但是a的值变为a+1 --类似

#include <iostream> using namespace std; int main() { int a,b...
include <iostream> usingnamespacestd;intmain(){ inta,b,c,d;a=c=0;b=1;d=20;if(a) d=d-10;else if(!b)if(!c) d=15;else d=25;cout<<d<<endl;return0;} 这样写应该就很容易看懂了!注意是int作为bool值时,0为假,非0为真,运行结束d的值没有变化,仍为20 ...

#include(iostream) using namespace std; int main() { int a,b...
include<iostream> using namespace std;int main(){ int a,b;cin>>a>>b;b=a+3;cout<<a+b<<endl;system("pause");return 0;} 这样就对了,头文件应该是尖括号

#include<iostream> using namespace std; int main(
cout<<i<<endl;另外,如果是想判断i与j的模为0时执行的话,if(!i%j)应该改为 if(!(i%j))求2至1000之间的完数的代码可以参考这里:http:\/\/zhidao.baidu.com\/link?url=DGyDJxzE900Rvvug4qLqdGgqIWiZ83XE7QaNL5V-S0WZiQwUr_Vdz87KiTN-bfez25ArUJ7eCJxI1dCj7rLRKK 请采纳 ...

(用c++输入输出语句)编程序。输入一个3位的正整数,输出其各位上的数字...
include <iostream>using namespace std;int main(){int num;int a, b, c;printf("请输入一个三位数:");cin>>num;a = num \/ 100;b = num \/ 10 % 10;c = num % 10;cout<<"三位数字分别是:"<<a<<" "<<b<<" "<<c<<endl;return 0;} 运行测试:请输入一个三位数:123...

相似回答