主题:请大家帮我看一看,到底那里错了
chenwfeng
[专家分:0] 发布于 2010-11-13 14:01:00
求100到999之间的水仙花数,可是编译老是说有一个错误,我仔细检查,就是不知道那里错,请大家帮我看一下。
如是水仙花数是X 那么它的 个位的立方+十位的立方+百位的立方=X
#include "stdio.h"
#include "iostream.h"
void main()
{
int x,x1,x2,x3;
for(x=100;x<=999;x++)
{
x1=x/100;
x2=(x/10)%10;
x3=x%10;
if(x1*x1*x1+x2*x2*x2+x3*x3*x3==x)
cout<<x<<"是水仙花数"<<endl;
getchar();
}
}
最后更新于:2010-11-13 14:07:00
回复列表 (共5个回复)
沙发
songquan [专家分:110] 发布于 2010-11-13 21:16:00
#include<iostream>
#include<stdio.h>
using namespace::std;
int main()
{
int x,x1,x2,x3;
for(x=100;x<=999;x++){
x1=x/100;
x2=(x/10)%10;
x3=x%10;
if(x1*x1*x1+x2*x2*x2+x3*x3*x3==x)
cout<<x<<"是水仙花数"<<endl;
//getchar();
}
return 0;
}
板凳
飞鸟踏云 [专家分:0] 发布于 2010-11-13 21:28:00
不知道你是C还是C++
3 楼
chaosuper85 [专家分:380] 发布于 2010-11-14 21:33:00
#include "stdio.h"
#include "iostream"
using namespace std;
int main()
{
int x,x1,x2,x3;
for(x=100;x<=999;x++)
{
x1=x/100;
x2=((x - x1*100))/10;
x3=x%10;
if(x1*x1*x1+x2*x2*x2+x3*x3*x3==x)
{
cout<<x<<"是水仙花数"<<endl;
}
}
cin.get();
return 0;
}
4 楼
elegant87 [专家分:700] 发布于 2010-11-15 21:31:00
[code=c]
#include <stdio.h>
int power(int base,int times)
{
int result = 1;
while(times--){
result *= base;
}
return result;
}
int main()
{
int a,b,c;
int i,j;
for(i = 100;i <= 999;++i){
a = i % 10 //个位
c = i / 100; //百位
b = (i - 100*c) / 10;//十位
if(power(a,3)+power(b,3)+power(c,3) == i)
printf("%d 是水仙数\n",i);
}
return 0;
}
[/code]
5 楼
CoolGuyL [专家分:0] 发布于 2010-11-17 13:40:00
楼主,你编译的时候报错,是不是报的你miss ";"这种错误啊。如果是的话,你的程序在敲";"的时候,有的用的是中文输入法,有的不是,另外就是你的getchar()为什么要写在循环里面阿,应该写在循环外面。
我来回复