C语言判断一个数是否为水仙花数,要求使用for循环结构实现程序功能。
时间: 2023-04-08 12:03:26 浏览: 94
可以回答这个问题。以下是C语言代码实现:
#include <stdio.h>
int main() {
int num, originalNum, remainder, result = 0;
printf("请输入一个三位数: ");
scanf("%d", &num);
originalNum = num;
for (originalNum = num; originalNum != 0; originalNum /= 10) {
remainder = originalNum % 10;
result += remainder * remainder * remainder;
}
if (result == num) {
printf("%d 是水仙花数", num);
} else {
printf("%d 不是水仙花数", num);
}
return 0;
}
相关问题
用C语言判断一个数是否为水仙花数,要求使用for循环结构实现程序功能。
可以回答这个问题。以下是用C语言判断一个数是否为水仙花数的程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, result = 0, n = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
originalNum = num;
// 计算位数
while (originalNum != 0)
{
originalNum /= 10;
++n;
}
originalNum = num;
// 计算每个数字的n次方和
while (originalNum != 0)
{
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
// 判断是否为水仙花数
if (result == num)
printf("%d 是水仙花数", num);
else
printf("%d 不是水仙花数", num);
return 0;
}
C语言判断是否为水仙花数表达式
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,判断一个数是否为水仙花数可以使用循环结构和简单的数学计算。以下是判断表达式的示例:
```c
#include <stdio.h>
int is Narcissistic(int num) {
int original_num, sum = 0;
if (num < 100 || num > 999) { // 检查数的有效范围
return 0; // 不是三位数
}
original_num = num;
while (original_num != 0) {
int digit = original_num % 10; // 取最后一位数字
sum += digit * digit * digit; // 立方和累加
original_num /= 10; // 移除最后一位
}
if (sum == num) {
return 1; // 是水仙花数
} else {
return 0; // 否则不是
}
}
int main() {
int input;
printf("请输入一个三位数: ");
scanf("%d", &input);
if (is Narcissistic(input)) {
printf("%d 是水仙花数。\n", input);
} else {
printf("%d 不是水仙花数。\n", input);
}
return 0;
}
```
阅读全文