C语言实现水仙花数
水仙花数,也被称为阿姆斯特朗数,是一个三位数,其各位数字的立方和等于该数本身,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153,在本文中,我们将使用C语言来实现一个程序,用于找出所有的水仙花数。
我们需要理解如何通过C语言来表示一个三位数,在C语言中,我们可以通过一个三位的整数来表示一个三位数,153可以表示为100 + 50 + 3 = 153。
我们需要编写一个函数来计算一个数的各位数字的立方和,这个函数需要接受一个整数作为参数,然后返回这个整数的各位数字的立方和。
接下来,我们需要编写一个循环,用于遍历所有的三位数,在这个循环中,我们需要对每一个三位数调用我们之前编写的函数,计算它的各位数字的立方和,如果这个立方和等于这个三位数本身,那么这个三位数就是一个水仙花数,我们需要将它打印出来。
我们需要编写主函数,用于启动我们的程序,在主函数中,我们只需要简单地调用我们的循环函数,就可以找出所有的水仙花数了。
以下是实现这个程序的C语言代码:
#include <stdio.h> int sum_of_cubes(int num) { int a = num / 100; int b = (num % 100) / 10; int c = num % 10; return a * a * a + b * b * b + c * c * c; } int main() { for (int i = 100; i <= 999; i++) { if (sum_of_cubes(i) == i) { printf("%d ", i); } } return 0; }
这段代码首先定义了一个函数sum_of_cubes
,用于计算一个数的各位数字的立方和,然后在主函数中,我们使用一个for循环遍历所有的三位数,对每一个三位数调用sum_of_cubes
函数,如果这个三位数的各位数字的立方和等于这个三位数本身,那么我们就打印出这个三位数。
还没有评论,来说两句吧...