所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 例如,153是一个水仙花数,因为153=13+53+33。
下列程序中,cube( )函数的功能是计算并返回某一个数的立方。fun( )函数的功能是判断一个三位数是否为一个水仙花数,是则返回1,不是则返回0。在主函数中通过循环遍历所有的三位数,如果是水仙花数,则输出。
请将程序中空缺的代码填写完整。
#include <stdio.h>
int cube( int m ) /*计算并返回整数m的立方*/
{
return
m*m*m
;
}
/*判断一个三位数num是否为一个水仙花数,是则返回1,不是则返回0。*/
int fun( int num )
{
int bai,shi,ge;
bai =
num/100
; /*num的百位*/
shi = num/10%10 ; /*num的十位*/
ge =
num%10
; /*num的个位*/
if ( cube(bai) + cube(shi) + cube(ge)
==num
)
return 1;
else
return 0;
}
int main( )
{
int n;
for ( n=100 ; n<1000 ; n++ )
if (
fun(n)
) /*如果n是水仙花数,则输出*/
printf("%5d", n);
return 0;
}