51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

C语言中实现输出所有水仙花数字



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");                        //结束    
}


运行结果截图

1.2.png



赞(1)
未经允许不得转载:工具盒子 » C语言中实现输出所有水仙花数字