帮我写一个c语言输入一个数判断它是否为水仙花数的代码
时间: 2023-03-09 07:56:14 浏览: 222
#include<stdio.h>
int main()
{
int n, originalNumber, remainder, result = 0;
printf("输入一个数: ");
scanf("%d", &n);
originalNumber = n;
while (originalNumber != 0) {
remainder = originalNumber%10;
result += remainder*remainder*remainder;
originalNumber /= 10;
}
if(result == n)
printf("%d 是水仙花数。",n);
else
printf("%d 不是水仙花数。",n);
return 0;
}
相关问题
给我写一段c语言代码,写一个函数判断这个数是不是水仙花数
当然,这是一个简单的C语言函数,用于判断一个整数是否为水仙花数:
```c
#include <stdio.h>
int is narcissistic_number(int num) {
if (num < 100 || num > 999) { // 判断是否为三位数
return 0; // 非三位数不是水仙花数
}
int digits[3], sum = 0;
int i;
// 分离每个位数
while (num != 0) {
digits[i] = num % 10;
sum += digits[i] * digits[i] * digits[i];
num /= 10;
i++;
}
// 检查三位数的每一位的立方和是否等于原数
return sum == num;
}
int main() {
int number;
printf("请输入一个三位数: ");
scanf("%d", &number);
if (is_narcissistic_number(number)) {
printf("%d 是水仙花数.\n", number);
} else {
printf("%d 不是水仙花数.\n", number);
}
return 0;
}
```
在这个代码中,`is_narcissistic_number`函数首先检查输入的数是否为三位数,然后分离出每个位上的数字并计算它们立方和,最后比较这个和是否等于原来的数。
用C语言输入一个三位数判断是否为水仙花数
可以,水仙花数指一个三位数,其各位数字立方和等于该数本身,例如153就是一个水仙花数,因为1的立方+5的立方+3的立方=153。下面是C语言代码实现:
#include <stdio.h>
int main() {
int num, originalNum, remainder, result = 0;
printf("请输入一个三位数:");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += remainder * remainder * remainder;
originalNum /= 10;
}
if (result == num) {
printf("%d是一个水仙花数", num);
} else {
printf("%d不是一个水仙花数", num);
}
return 0;
}
阅读全文