
在DEV-C++通过检测,有问题欢迎追问
#include
<mathh>
int
main()
{
int
i=100,a,b,c;
while(i<999)
{
i++;
a=i/100;
b=(i/10)%10;
c=i%10;
if(pow(a,3)+pow(b,3)+pow(c,3)==i)
printf("%d\t",i);
}
system("PAUSE");
return
;
}
#include<stdioh>
#include<mathh>
int main()
{
int multi(int n);
int pow(int m);
int i,count=0;
printf("水仙花数为:\n");
for(i=101;i<1000;i++)
{
multi(i);
pow(i);
if(i==pow(i)) //zheli
{
count++;
}
}
printf("Count=%d\n",count);
return 0;
}
int pow(int m)
{
int b,t,s;
b=m/100;
t=m/10-b10;
s=m%10;
//printf("%d %d %d",b,t,s); //这里屏蔽了
if(m==(int )pow(b10,3)+pow(t10,3)+pow(s10,3)) //这里
{
printf("%d ",m);
}
return 0;
}
int multi(int n)
{
int q,w,r;
q=n/100;
w=n/10-q10;
r=n%10;
if(n==qqq+www+rrr)
{
printf("%d ",n);
}
return 0;
}
水仙花数是指一个 n 位数 ( n≥3 ),每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。
所以可以依次通过模除求得每个位上的值,然后做n次幂后相加,再判断是否与本身相等,从而得到是否为水仙花数的结论。
以求所有三位数水仙花数为例,代码如下,其它相似。
#include<stdioh>#include<stdlibh>
#include<stdboolh>
int cube(const int n){//计算立方。如果是四位则是四次方,以此类推。
return nnn;
}
int isNarcissistic(const int n){//计算是否为水仙花数。
int hundreds=n/100;//百位
int tens=n/10-hundreds10;//十位
int ones=n%10;//个位
return cube(hundreds)+cube(tens)+cube(ones)==n;//如果相等,则为水仙花数。
}
int main(void){
int i;
for(i=100;i<1000;++i){//对所有三位数判断。
if(isNarcissistic(i))//如果是则输出。
printf("%d\n",i);
}
return 0;
}
以上就是关于如何用C语言中的while语句编写水仙花数程序全部的内容,包括:如何用C语言中的while语句编写水仙花数程序、用C语言求水仙花数及其个数、c语言编程调用函数求水仙花数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)