彩笔凡 发表于 2023-11-7 16:45:49

求助

编写程序,输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。


#include <stdio.h>

void main( )

{                           ; /*定义4个整型变量; */

    for( j=100; j<=999; j++ )

    {a=j/100;                /*分离出百位数*/

       b=j/10-a*10;            /*分离出十位数*/

       c=___________;          /*分离出个位数*/

      if(j==a*a*a+b*b*b+c*c*c)

               ;            /*输出j*/

    }

    printf("\n");

}

Mike_python小 发表于 2023-11-7 16:46:01

编程输出水仙花数

要输出所有的水仙花数,我们可以编写以下的程序:


#include <stdio.h>

void main() {
    int j, a, b, c; /*定义4个整型变量*/
    for (j = 100; j <= 999; j++) {
      a = j / 100;            /*分离出百位数*/
      b = j / 10 - a * 10;    /*分离出十位数*/
      c = j % 10;             /*分离出个位数*/
      if (j == a * a * a + b * b * b + c * c * c) {
            printf("%d ", j);    /*输出j*/
      }
    }
    printf("\n");
}


这段程序会遍历所有的三位数,将其分禨出百位、十位和个位,然后判断是否满足水仙花数的条件,如果满足,则将该数输出。最终会输出所有的水仙花数。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

isdkz 发表于 2023-11-7 16:46:25

修改代码中的空白处,将c的值分离出个位数的代码补充进去即可。

修改后的代码如下:

#include <stdio.h>

void main( )
{
    int j, a, b, c; /*定义4个整型变量; */

    for( j=100; j<=999; j++ )
    {
      a = j / 100;       /*分离出百位数*/
      b = j / 10 - a * 10;       /*分离出十位数*/
      c = j % 10;       /*分离出个位数*/

      if(j == a*a*a + b*b*b + c*c*c)
      {
            printf("%d\n", j);       /*输出j*/
      }
    }

    printf("\n");
}


这段代码会输出所有的水仙花数,即满足各位数字立方和等于该数本身的三位数。
页: [1]
查看完整版本: 求助