如何用C语言求水仙花数?
#include int main {int i,a,b,c; for(i=100;i<1000;i++) a=i%10; b=(i%100–i%10)/10; c=(i–i%10–b*10)/100 if(i==a*a*a+b*b*b+c*c*c) printf(“i是水仙花数字”); return 0;}
打印出所有水仙花数的C语言程序代码?
main(){int i,j,k,n;scanf("%d",&n)
;//输入你想要的数据,这个是判断三位数的。i=n/100;j=n/10-i*10;k=n%10;//上面i,j,k,是分别获取百位,十位,各位,上的数字。
if(n==i*i*i+j*j*j+k*k*k)//判断是不是水仙花数。
printf("yes\n")
;printf("%d\n",n)
;//输出nelseprintf("no\n");}上面程序是只能判断三位数的,如果想更高的话,可以在判断各个位数上改动程序。
c语言,输入一个三位数,判断是否是一个“水仙花数”,水仙花数是指3位数的各位数字的立方和等于这个三?
#includeintsxh(intnumber)
;//sxh=水仙花数intmain(){inti;printf("输出一个三位数:")
;scanf("%d",&i)
;if(sxh(i)
)printf("thedata%5disyes\n",i)
;printf("\n");return0;}intsxh(intnumber) //定义判断水仙花数的函数{intsum=0,item,count=1,i=1,temp;temp=number; while(temp>=10) {count++; //判断位数temp/=10; } temp=number; while(i<=count) { item=temp%10;temp/=10;sum=sum+item*item*item;i++; } if(sum==number) return1; else return0;}
水仙花数用c程序怎么写?
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
代码如下:
#include
void main()
{
int i,a,b,c;
for(i=100;i<1000;i++)//取值范围
{ a=i/100;//百位数
b=(i-a100)/10;//十位数
c=i%10;//个位数
if(i== aaa +bbb +cc*c)//判断各位上的立方和是否与原数n相等
printf("%d\n",i);//输出结果
}
}
输入结果:
“水仙花数”是指一个三位数,其每位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
基于此,利用for循环控制100-999个数,每个数分解出个位,十位,百位,再分别求立方相加并判断即可。