发布网友 发布时间:2022-04-22 00:29
共3个回答
热心网友 时间:2023-09-09 15:08
水仙花数是指一个 n 位数 ( n≥3 ),每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。
所以可以依次通过模除求得每个位上的值,然后做n次幂后相加,再判断是否与本身相等,从而得到是否为水仙花数的结论。
以求所有三位数水仙花数为例,代码如下,其它相似。
热心网友 时间:2023-09-09 15:08
您好,图片并不是很清晰,您能把代码复制下来给我吗?我帮你看看。我修改了一下·~~望采纳
#include<stdio.h>
int main(void)
{
int shuixianhua(int i);
int d,k;
for(k=100;k<=999;k++)
{
d=shuixianhua(k);
if(d==1)
printf("%d\n",k);
}
}
int shuixianhua(int i)
{
int a,b,c;
a=i/100;
b=i/10%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
return 1;
else
return 0;
}追问什么代码?不懂
热心网友 时间:2023-09-09 15:09
你缺少大括号,把for后面的包括所有if部分都扩起来,表示一个语句块,才能得到正确的结果