c语言学习2026/10/22
求水仙花数
水仙花数解释
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
案例代码
#include <stdio.h>
#include <math.h>
int sx(int a) {
int x ;
int y ;
int z ;
x=a%10;
y=(a/10)%10;
z=(a/100)%10;
int sum;
sum = pow(x,3)+pow(y,3)+pow(z,3);
return sum;
}
int main(void) {
int t;
scanf("%d",&t);
if (sx(t)==t) {
printf("%d\n",sx(t));
}
else if (sx(t)!= t) {
printf("no");
}
return 0;
}
思路
一:先定义一个求解函数
int sx(int a) {
int x ;
int y ;
int z ;
x=a%10;
y=(a/10)%10;
z=(a/100)%10;
int sum;
sum = pow(x,3)+pow(y,3)+pow(z,3);
return sum;
}
$$其中
x=a%10
(求个位数字)
y=(a/10)%10
(求十位数字)
z=(a/100)%10
(求百位数字)
以此类推
$$
二:调用进行判断
if (sx(t)==t) {
printf("%d\n",sx(t));
}
else if (sx(t)!= t) {
printf("no");
}
- 随笔练习 2026-10-23
- 求最大公约数以及最小公倍数 2026-10-23
- 一元二次方程求解 2026-10-23
- 冒泡排序 2026-10-22
- 求水仙花数 2026-10-22
- 去掉末尾空格 2026-10-08
- 输入某一时刻,输出下一秒 2026-10-08
- 如何输出字符串位数 2026-09-28
- 实现倒序输出(for循环) 2026-09-28
- 特殊换行代码 2026-09-28
- C 语言中手动遍历字符串的经典写法 2026-09-28