菜鸟写代码,判断1~1000之间的水仙花数;这个小程序是我当时学C语言时,感觉特别有内涵的一个。跟大家一起分享!!
#include<stdio.h>
//判断数字位数
int weishu(int n)
{
int z=0;
for(;n!=0;n=n/10)
{
z++;
}
return z;
}
//判断是否是水仙花数
int shuixianhua(int n)
{
int sum=0,m=n;
for(int i=1;i<=weishu(n);i++)
{
int sum1=1;
for(int j=1;j<=weishu(n);j++)
{//printf("***");
sum1=sum1*(m%10);
}//printf("@@@");
sum=sum+sum1;
m=m/10;
}
return sum;
}
void main()
{
for(int i=1;i<1000;i++)
{
if(shuixianhua(i)==i)
{
printf("%d/t",i);
}
}
}