水仙花数c语言程序
时间: 2023-09-08 21:10:57 浏览: 74
以下是求解水仙花数的C语言程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int n, num, sum, i;
printf("请输入一个三位数:");
scanf("%d", &n);
printf("该数的水仙花数有:\n");
for (i = 100; i <= n; i++)
{
num = i;
sum = 0;
while (num != 0)
{
sum += pow(num % 10, 3);
num /= 10;
}
if (sum == i)
{
printf("%d\n", i);
}
}
return 0;
}
```
该程序先让用户输入一个三位数,然后从100到该数之间进行遍历,对于每个数,求出它各个数位的立方和,若等于该数本身,则输出。
相关问题
pta水仙花数c语言程序
可以这样写:
#include <stdio.h>
#include <math.h>
int main()
{
int num, hundreds, tens, units, sum;
for (num = 100; num <= 999; num++)
{
hundreds = num / 100;
tens = num % 100 / 10;
units = num % 10;
sum = pow(hundreds, 3) + pow(tens, 3) + pow(units, 3);
if (sum == num)
printf("%d ", num);
}
return 0;
}
这个程序实现了输出所有的“水仙花数”,即一个三位数各个位上的数字立方和等于该数本身。
判断水仙花数c语言程序
以下是判断水仙花数的C语言程序:
```c
#include <stdio.h>
int main() {
int num, digit, sum = 0, temp;
printf("输入一个三位数:");
scanf("%d", &num);
temp = num;
while (temp != 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num)
printf("%d 是水仙花数\n", num);
else
printf("%d 不是水仙花数\n", num);
return 0;
}
```
程序逻辑如下:
1. 首先从用户输入读取一个三位数
2. 将这个数存储在变量 `num` 中,并将其赋值给变量 `temp`
3. 通过循环取出变量 `temp` 的每个数字,并计算其立方和,存储在变量 `sum` 中
4. 如果变量 `sum` 的值等于原始输入的数字 `num`,则输出该数字是水仙花数;否则输出不是水仙花数。
阅读全文