编程实现输出所有的水仙花数。

说明。水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身列如一的三次方加5的三次方加3的三次方等于153。

先分解出三位数的三位数字,然后立方后相加与该数进行比较就行了

void main()
{
  for(int i=100;i<=999;i++)
  {
    int g = i%10;
    int h = i/100;
    int t = (i-g-h*100)/10;
    if(i==(g*g*g + h*h*h + t*t*t))
      printf("%d\n",i);
  }
}

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>
int main()
 {
  int i,j,k,n;
  printf("parcissus numbers are ");
  for (n=100;n<1000;n++)
   {
    i=n/100;
    j=n/10-i*10;
    k=n%10;
    if (n==i*i*i + j*j*j + k*k*k)
      printf("%d ",n);
   }
  printf("\n");
  return 0;
  }

先分解出个位。十位,百个位的三个数,每个数各自相乘3次再相加与原数进行比较就可以了
输出结果
parcissus numbers are 153 370 371 407

嗬!我做的题管这叫阿姆斯特朗数。大致思路就是把三位数分解,分别算它们的幂相加,再与原数作比较。代码嘛,,,楼上的就很好了