酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

用c语言设计一个程序来判断一个整数是否为水仙花数

水仙花数(Narcissistic number),又称为自恋数、自幂数或阿姆斯壮数,是指一个n位数,其各个位上的数字的n次方之和等于该数本身。例如153是一个三位数,且1^3 + 5^3 + 3^3 = 153。 下面是一个用C语言编写的程序,用于判断一个整数是否为水仙花数: ```c #include <stdio.h> #include <math.h> // 函数声明 int isNarcissistic(int num); int main() { int num; printf("请输入一个整数: "); scanf("%d", &num); if (isNarcissistic(num)) { printf("%d 是水仙花数\n", num); } else { printf("%d 不是水仙花数\n", num); } return 0; } // 判断一个整数是否为水仙花数的函数 int isNarcissistic(int num) { int originalNum, remainder, result = 0; int n = 0; double power; originalNum = num; // 计算数字的位数 while (originalNum != 0) { originalNum /= 10; ++n; } originalNum = num; // 计算各位数字的n次方之和 while (originalNum != 0) { remainder = originalNum % 10; power = pow(remainder, n); result += power; originalNum /= 10; } // 判断结果是否等于原数 if (result == num) { return 1; // 是水仙花数 } else { return 0; // 不是水仙花数 } } ``` 程序说明: 1. 主函数:从用户处获取一个整数并调用`isNarcissistic`函数来判断该整数是否为水仙花数。 2. isNarcissistic函数:这个函数首先计算输入整数的位数,然后计算每个位上的数字的n次方之和,最后判断这个和是否等于原来的整数。如果相等,则返回1表示是水仙花数;否则返回0表示不是水仙花数。 你可以将上述代码复制到你的C语言开发环境中进行编译和运行,以测试不同的整数是否为水仙花数。 [2024-10-30 09:04:56 | AI写代码神器 | 604点数解答]

相关提问