C语言中实现输出所有水仙花数字
题目:
输出所有"水仙花数",所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数字本身。例如,153是水仙花数,因为153=1³+5³+3³
解题思路
实现这个题目要求,需要遍历100-999所有的三位数,然后逐个验证三位数是否符合"水仙花数"的要求,如果符合要求,则输出。遍历三位数可以使用for循环,定义三位整型字符分别为百位(1-9)、十位(0-9)、个位(0-9),实现遍历所有三位数。然后通过选择结构对遍历的每一个三位数进行"水仙花数"的验证。
源代码展示
#include <stdio.h>
#include<stdlib.h>
void main() { //定义主函数
int i,j,k,sum1,sum2; //定义整型字符
for(i=1;i<=9;i++){ //使用嵌套两个for循环进行遍历100-999的所有三位数的组合
for(j=0;j<=9;j++){
for(k=0;k<=9;k++){
sum1 = i*100+j*10+k; //将这个三位数求出来
sum2 = i*i*i+j*j*j+k*k*k; //将这个三位数的每位数的立方加起来求和
if(sum1==sum2){ //判断其是否相等,倘若相等,则为水仙花数,输出
printf("%d ",sum1);
}
}
}
}
system("pause"); //结束
}
运行结果截图