代码运行结果
水仙花数
所谓水仙花数是指一个三位数的立方和等于该数的本身,例如153是一个水仙花数
153=1*1*1+5*5*5+3*3*3
函数定义
int shui(int z);
函数传参
int o = shui(s);
判断函数实现
int shui(int z)
{
int a,b,c;
a = z /100; //分出百位数字
b = (z -a*100)/10;//分出十位数字
c = z%10;//分出个位数字
if(z==a*a*a+b*b*b+c*c*c)
{
printf("所输入的数是水仙花数\n");
}
else
{
printf("所输入的数不是水仙花数\n");
}
int i,j,k; //打印100到999的所有水仙花数
printf("100到999所有的水仙花数有:");
for(int n=100;n<1000;n++)
{
i=n/100; //分出百位数字
j=(n-i*100)/10; //分出十位数字
k=n%10; //分出个位数字
if(n==i*i*i+j*j*j+k*k*k)
printf("%d ",n);
}
return 0;
}
主函数
int main() //输入3位数
{
printf("请输入一个3位数:");
int s;
scanf("%d",&s);
int o = shui(s); //传参
return 0;
}
代码展示
#include<stdio.h>
int shui(int z)
{
int a,b,c;
a = z /100; //分出百位数字
b = (z -a*100)/10;//分出十位数字
c = z%10;//分出个位数字
if(z==a*a*a+b*b*b+c*c*c)
{
printf("所输入的数是水仙花数\n");
}
else
{
printf("所输入的数不是水仙花数\n");
}
int i,j,k; //打印100到999的所有水仙花数
printf("100到999所有的水仙花数有:");
for(int n=100;n<1000;n++)
{
i=n/100; //分出百位数字
j=(n-i*100)/10; //分出十位数字
k=n%10; //分出个位数字
if(n==i*i*i+j*j*j+k*k*k)
printf("%d ",n);
}
return 0;
}
int main() //输入3位数
{
printf("请输入一个3位数:");
int s;
scanf("%d",&s);
int o = shui(s); //传参
return 0;
}