C语言题目:输出所有的“水仙花数”,并输出其总个数。所谓“水仙花数”是指一个3位数,其各位数字的立...

2024-11-29 02:00:38
推荐回答(5个)
回答1:

具体程序如下:

#include 

void main()

int i,a,b,c,count=0;//count是计数器

printf("水仙花数有\n");

for (i=100;i<=999;i++)

a=i/100;  //取百位数字

b=(i-a*100)/10;   //取十位数字

c=i%10;  //取个位数字

if(a*a*a+b*b*b+c*c*c==i)//如果是水仙花数

{

printf("%d\t",i);

count++;//如果是水仙花数 计数器就加1 

}

}

printf("\n水仙花数的个数为\t%d",count);

printf("\n");

}

运行结果如下

回答2:

回答3:

#include
int main()
{
int a,b,c,s;
for(a=1;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
s=100*a+10*b+c;
if(s==(a*a*a+b*b*b+c*c*c))
printf("%d\n",s);
}
}
}
return 0;
}
一共四个

回答4:

#include
void main(){
int a,b,c,i;
for(i=100;i<=999;i++){
a=i%10;b=i%100;c=i-10*a-100*b;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d",i);
}
}

回答5:

#include "stdio.h"
main()
{
int i,j,k,n,m=0;
printf("水仙花数为:\n");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%5d",n);
++m;
}
}
printf("\n一共有%d个水仙花数\n",m);
return 0;
}