#include <stdio.h>
int units_place(int number); //声明函数,返回number的个位数字
int tens_place(int number); //声明函数,返回number的十位数字
int hundreds_place(int number); //声明函数,返回number的百位数字
int main()
{
int number = 100, units, tens, hundreds, temp; //定义变量
while (number < 1000) //循环判断三位数
{
units = units_place(number); //调用函数,获取个位数字
tens = tens_place(number); //调用函数,获取十位数字
hundreds = hundreds_place(number); //调用函数,获取百位数字
temp = hundreds * hundreds * hundreds + tens * tens * tens + units * units * units; //计算三位数字的立方和
if (temp == number) //判断是否为水仙花数
{
printf("%d ", number); //输出结果
}
number++; //判断下一位
}
return 0;
}
int units_place(int number) //定义函数,返回number的个位数字
{
return number % 10; //返回个位数字
}
int tens_place(int number) //定义函数,返回number的十位数字
{
return (number / 10) % 10; //返回十位数字
}
int hundreds_place(int number) //定义函数,返回number的百位数字
{
return number / 100; //返回百位数字
}