c语言程序设计第四版水仙花
时间: 2024-09-21 11:10:48 浏览: 37
《C语言程序设计》第四版中的“水仙花”问题通常是指计算一个三位数(如153)各位数字立方之和是否等于原数本身。例如,1^3 + 5^3 + 3^3 = 153,所以153是一个水仙花数。这个问题经常被用来作为教学案例,展示如何运用C语言的基本运算和控制结构。
在C语言中,你可以通过创建一个函数来解决这个问题。首先,读取输入的三位数,然后将其每一位转换为整数并求立方,最后检查这个和是否与原始数相等。以下是一个简单的示例:
```c
#include <stdio.h>
int is_narcissistic_number(int num) {
int digits[4], sum = 0;
if (num < 100 || num > 999) return 0; // 检查是否为三位数
while (num > 0) {
digits[3] = num % 10;
sum += digits[3]*digits[3]*digits[3]; // 计算立方和
num /= 10;
}
return sum == num; // 如果和等于原数,则返回1,否则返回0
}
int main() {
int number;
printf("Enter a three-digit number: ");
scanf("%d", &number);
if (is_narcissistic_number(number)) {
printf("%d is a narcissistic number.\n", number);
} else {
printf("%d is not a narcissistic number.\n", number);
}
return 0;
}
阅读全文