例54:C语言编程输出100-1000之间所有的“水仙花数”,所谓的“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
解析:153是一个水仙花数,因为153=1^3+5^3+3^3,逐个位数判断即可,写代码的时候要考虑到每一位。
源代码演示:
#include<stdio.h>//头文件
int main()//主函数
{
int i,j,k,narcissistic_Number;//定义整型变量
printf("水仙花数是:\n");//提示语句
//小林这里要测试的100~1000之间的水仙花数
for(narcissistic_Number=100;narcissistic_Number<1000;narcissistic_Number++)
{ i=narcissistic_Number/100;//百位数字
j=narcissistic_Number/10-i*10;//十位数字
k=narcissistic_Number%10;//各位数字
if(narcissistic_Number==i*i*i+j*j*j+k*k*k)//符合其各位数字立方和等于该数本身
{ printf("%d ",narcissistic_Number);//输出这个数
}
} printf("\n");//换行
return 0;//主函数返回值为0
}
编译运行结果如下:
水仙花数是:
153 370 371 407
--------------------------------
Process exited after 0.07857 seconds with return value 0
请按任意键继续. . .
文章来源: zhuanlan.zhihu.com,作者:,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/342298644