求某数字是否是水仙花c语言
时间: 2023-08-24 19:40:37 浏览: 34
以下是一个判断给定数字是否为水仙花数的 C 语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int num, sum = 0, temp;
printf("输入一个整数: ");
scanf("%d", &num);
temp = num;
while(temp != 0)
{
sum += pow(temp % 10, 3);
temp /= 10;
}
if(num == sum)
printf("%d 是水仙花数", num);
else
printf("%d 不是水仙花数", num);
return 0;
}
```
在这个代码中,用户输入一个整数 num,程序将检查该数字是否为水仙花数。程序首先将该数字保存在变量 temp 中,然后使用 while 循环来计算该数字每个数位的立方相加的和。最后,如果该数字等于和,则说明该数字是水仙花数;否则,该数字不是水仙花数。
相关问题
求某3位数是否是水仙花c语言
以下是一个判断给定三位数是否为水仙花数的 C 语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int num, sum = 0, temp;
printf("输入一个三位数: ");
scanf("%d", &num);
if(num < 100 || num > 999)
{
printf("输入的数字不是三位数");
return 0;
}
temp = num;
while(temp != 0)
{
sum += pow(temp % 10, 3);
temp /= 10;
}
if(num == sum)
printf("%d 是水仙花数", num);
else
printf("%d 不是水仙花数", num);
return 0;
}
```
在这个代码中,用户输入一个三位数 num,程序将检查该数字是否为水仙花数。程序首先检查该数字是否为三位数,如果不是,则输出错误信息并结束程序。如果该数字是三位数,程序将把该数字保存在变量 temp 中,然后使用 while 循环来计算该数字每个数位的立方相加的和。最后,如果该数字等于和,则说明该数字是水仙花数;否则,该数字不是水仙花数。
用定义函数求水仙花数字c语言
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个求解水仙花数的函数示例:
```c
#include <stdio.h>
#include <math.h>
int isNarcissistic(int n) {
int sum = 0;
int temp = n;
int digit;
while (temp != 0) {
digit = temp % 10;
sum += pow(digit, 3);
temp /= 10;
}
return sum == n;
}
int main() {
int i;
for (i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
printf("%d ", i);
}
}
return 0;
}
```
在这个函数中,`isNarcissistic` 函数判断一个数是否是水仙花数。该函数首先通过一个 while 循环,计算出该数的各位数字的立方和。然后,它将计算出的和与原数进行比较,如果相等,就说明该数是水仙花数,返回 true。否则,返回 false。
在 `main` 函数中,通过一个 for 循环,遍历所有的三位数,调用 `isNarcissistic` 函数判断每个数是否是水仙花数,如果是,就打印出该数。