注册 登录
编程论坛 C++教室

总是显示不出来..... 大家看看

leonandjo 发布于 2007-06-14 18:09, 500 次点击

#include <iostream>
using namespace std;
int main()
{
int i = 100;

int a, b, c;
a = i /100;
b = i /10 %10;
c = i %100;

do
{
if (a*a*a + b*b*b + c*c*c == i)
cout << i << " 是一个水仙花数. " << endl;
}
while (i<=999);

return 0;
}

7 回复
#2
leonandjo2007-06-14 18:10

为什么啊? 大家帮我改一改 或者你帮我写一个 我来学习学习.........

#3
yuyunliuhen2007-06-14 18:15

do
{
if (a*a*a + b*b*b + c*c*c == i) //进入死循环了
cout << i << " 是一个水仙花数. " << endl;
}
while (i<=999);

[此贴子已经被作者于2007-6-14 18:18:16编辑过]

#4
leonandjo2007-06-14 18:22

对了 忘了给 i 增加了,太大意了............

#5
bluebell2007-06-14 23:18
对i++忘了,
#6
任4712378632007-06-15 07:16

我这里写了一个程序请你浏览一下:(可以说我写得有一点复杂敬请原谅我这个初学者)
#include "stdio.h"
void main()
{
int i=100,a,b,c;
  for(;i<1000;i++)
      { a=i/100;  //i的百位数
 b=i%10-a*10;   //i的十位数
 c=i-a*100-b*10;  //i的个位数
       if(a*a*a+b*b*b+c*c*c==i)
printf("The i is 水仙花数:\n");
printf("%5d",i);
}
       
}             




#7
bluebell2007-06-15 23:45

应该是b算错了
你看一下我该后的


#include<iostream.h>
//#include <stdio.h>
void main()
{
int a,b,c;
for (int i=100;i<1000;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if (a*a*a+b*b*b+c*c*c==i)
cout<<" The i is 水仙花数: "<<i<<endl;
}
}

#8
ioriliao2007-06-16 00:32
1