定制软件输出所有的“”。所谓“水仙花数”是指一个3位数,定制软件其各位数字立方之和等定制软件于该数本身。
例如,153定制软件是一个水仙花数,因为153=1³+5³+3³
解题思路:水仙花数的解题思路是把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和。程序能正常运行并准确输出“水仙花数”。
定义i为水仙花数,运用for循环
for (❶ i=100;❷ i<=999;❸i++)
先执行❶,再执行❷判断条件是否满足,
满足执行下列花括号,最后执行❸,一次循环结束;
再执行❷判断条件是否满足,
满足执行下列花括号,最后执行❸,二次循环结束;
其中❶只在第一次循环时执行一次;
若是❷不成立则循环结束,执行printf()语句;
#include<stdio.h>int main(){ printf("输出水仙花数:\"); int i, a, b, c; for (i = 100; i <= 999; i++) //整数的取值范围 { int a = i % 10;//个位数 int b = (i / 10) % 10;//十位数 int c = i / 100;//百位数 if (i == a * a * a + b * b * b + c * c * c) //各位上的立方和是否与原数n相等 printf("%d\t", i); } return 0;}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
输出结果展示:水仙花数是153 370 371 407
如果有不懂的地方可以在评论里面提出来,我会尽自己的能力去解答(^^)
欢迎大家进行指正评论,共同进步!!!