C语言每天一练----输出水仙花数
发布人:shili8
发布时间:2025-02-26 19:40
阅读次数:0
**C语言每天一练**
**题目描述**
输出水仙花数。水仙花数是指一个三位数,等于其各位数字的立方之和。
**例如:**
*153 =1^3 +5^3 +3^3*370 =3^3 +7^3 +0^3**要求**
* 写出一个函数,能够输出水仙花数。
* 函数的输入参数为整型数(代表三位数)。
* 函数的返回值为布尔类型(true 或 false),表示该数字是否是水仙花数。
**示例代码**
c#include <stdio.h> // 函数声明bool is_narcissistic(int num) { // ... } int main() { int num =153; if (is_narcissistic(num)) { printf("%d 是水仙花数 ", num); } else { printf("%d 不是水仙花数 ", num); } return0; }
**函数实现**
cbool is_narcissistic(int num) { // 提取三位数的各个数字 int a = num /100; // 百位数 int b = (num %100) /10; // 十位数 int c = num %10; // 个位数 // 计算立方之和 int sum = a * a * a + b * b * b + c * c * c; // 比较立方之和与原数字是否相等 return sum == num; }
**注释**
* `is_narcissistic` 函数首先提取三位数的各个数字(百位数、十位数和个位数)。
* 然后计算这些数字的立方之和。
* 最后比较立方之和与原数字是否相等,返回 true 或 false。
**测试**
* 测试案例1:153+ 输入:153+ 输出:true(是水仙花数)
* 测试案例2:370+ 输入:370+ 输出:false(不是水仙花数)
**总结**
本题目要求输出水仙花数,通过提取三位数的各个数字、计算立方之和以及比较原数字与立方之和是否相等来实现。函数 `is_narcissistic` 可以用于判断一个整型数是否是水仙花数。