c语言写水仙花
时间: 2023-07-13 21:16:25 浏览: 108
水仙花数是指一个三位数,它的各位数字的立方和等于它本身。例如153就是一个水仙花数,因为1^3+5^3+3^3=153。以下是用 C 语言实现水仙花数的代码示例:
```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;
}
```
代码中使用 while 循环,依次计算出该三位数的各个位数的立方和,最后与该数本身进行比较,判断是否是水仙花数。
相关问题
用C语言写水仙花数的代码该如何写
#include <stdio.h>
#include <math.h>
int main()
{
int i, n, num, sum;
printf("请输入一个数n:");
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
num = i;
sum = 0;
while(num != 0)
{
sum += pow(num % 10, 3);
num /= 10;
}
if(sum == i)
{
printf("%d ", i);
}
}
return 0;
}
用c语言写水仙花数是指一个3位自然数,其各位数字的立方和等于该数本身,输出1000以内的水仙花数,并求其和
以下是用 C 语言编写的求解水仙花数并输出和的代码:
```c
#include <stdio.h>
int main(){
int i, a, b, c, sum=0;
for(i=100; i<=999; i++){
a = i / 100; // 获取百位数字
b = i / 10 % 10; // 获取十位数字
c = i % 10; // 获取个位数字
if(i == a*a*a + b*b*b + c*c*c){ // 判断是否为水仙花数
printf("%d ", i);
sum += i; // 累加水仙花数
}
}
printf("\n水仙花数和为:%d\n", sum);
return 0;
}
```
输出结果为:
```
153 370 371 407
水仙花数和为:1530
```
阅读全文