c語言輸出1到1000所有完數(shù) c語言程序,輸入一個數(shù)判斷是否為水仙花數(shù),急求?
c語言程序,輸入一個數(shù)判斷是否為水仙花數(shù),急求?水仙數(shù)是指一個n位數(shù)字(n≥3),每個數(shù)字的n次方之和等于它本身。(例如:1^3 5^3 3^3=153)請注意,此限制為3位#include<st
c語言程序,輸入一個數(shù)判斷是否為水仙花數(shù),急求?
水仙數(shù)是指一個n位數(shù)字(n≥3),每個數(shù)字的n次方之和等于它本身。(例如:1^3 5^3 3^3=153)
請注意,此限制為3位
#include<stdio。H>
void main()
{
int x,y,Z
int n,M
printf(“請輸入數(shù)字>=100<1000n”)
scanf(%d”,&n)
x=n/100//x是一個百位數(shù)
y=(n-x*100)/10//y是一個十位數(shù)
z=n //z是一個位數(shù)
m=x*x*y*y z*z*z
if(n==m)
printf(“true”)
else
printf(“false”)}
打印出所有的“Narcissus數(shù)字”。所謂“水仙數(shù)”,是指所有數(shù)字的立方和等于數(shù)字本身的三位數(shù)。例如:153是一個“水仙數(shù)”,因?yàn)?53=1到三次方+5到三次方+3到三次方。
1. 程序分析:用for循環(huán)控制100-999個數(shù)字,每個數(shù)字分解成位、十位和百位。
2. 程序源代碼:
main()
]{
inti,J,K,n
printf(“”waterflower“numberis:”)
for(n=100N
{
I=n/100/*分解100位*/
J=n/10 /*分解10位*/
k=n /*分解單個位*/
if(I*100j*10K==I*I*I*J*k*k)
{
]printf(“-5D”,n)
}
}]printf(“n”)
}