回 帖 发 新 帖 刷新版面

主题:请大家帮我看一看,到底那里错了

求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();
    }
}

回复列表 (共5个回复)

沙发

#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;
}

板凳

不知道你是C还是C++

3 楼

#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 楼


[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 楼


楼主,你编译的时候报错,是不是报的你miss ";"这种错误啊。如果是的话,你的程序在敲";"的时候,有的用的是中文输入法,有的不是,另外就是你的getchar()为什么要写在循环里面阿,应该写在循环外面。

我来回复

您尚未登录,请登录后再回复。点此登录或注册