当前位置:实例文章 » 其他实例» [文章]C语言每天一练----输出水仙花数

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` 可以用于判断一个整型数是否是水仙花数。

相关标签:算法c语言开发语言
其他信息

其他资源

Top