大众计算机学习网

专门提供各种电脑教程

C程序的算法:打印水仙花

Admin | 2007-12-20 20:54:27 | 被阅次数 | 5526

  出题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

  题目分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

  程序源代码:

  main()
  {

  int i,j,k,n;
  printf("'water flower'number is:");

   for(n=100;n<1000;n++)
   {
    i=n/100;/*分解出百位*/
    j=n/10%10;/*分解出十位*/
    k=n%10;/*分解出个位*/
    if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
     {
     printf("%-5d",n);
     }
   }

  printf("\n");
  }

  该代码为C环境下的代码,请在C环境下运行。本站已测试通过。