酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C 语言实现:精准判断输入整数是否为水仙花数

水仙花数(Narcissistic number)是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为 \(1^3 + 5^3 + 3^3 = 153\)。 下面是一个用C语言编写的程序,用于判断一个输入的整数是否是水仙花数: ```c #include <stdio.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; // 保存原始数值 originalNum = num; // 计算各位数字的立方和 while (originalNum != 0) { remainder = originalNum % 10; result += remainder * remainder * remainder; originalNum /= 10; } // 如果计算结果与原数相同,则是水仙花数 if (result == num) { return 1; // 返回1表示是水仙花数 } else { return 0; // 返回0表示不是水仙花数 } } ``` 程序说明: 1. 主函数 `main`: - 首先提示用户输入一个三位数。 - 使用 `scanf` 函数读取用户输入的数。 - 调用 `isNarcissistic` 函数判断输入的数是否为水仙花数,并根据返回值输出相应的结果。 2. 函数 `isNarcissistic`: - 接受一个整数 `num` 作为参数。 - 保存原始数值 `originalNum`,以便后续比较。 - 使用 `while` 循环逐位取出数字,并计算各位数字的立方和。 - 将计算得到的立方和与原始数值进行比较,如果相等则返回1(表示是水仙花数),否则返回0(表示不是水仙花数)。 注意事项: - 该程序假设用户输入的是一个三位数。如果需要处理其他位数的水仙花数,可以适当修改代码逻辑。 - 为了确保程序的健壮性,可以在输入时添加一些验证逻辑,例如检查输入是否确实为三位数。 ######[AI写代码神器 | 615点数解答 | 2024-10-30 09:17:18]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]