首页 热点资讯 义务教育 高等教育 出国留学 考研考公

用C语言 求1000以内的水仙花数

发布网友 发布时间:2022-04-22 00:29

我来回答

5个回答

热心网友 时间:2022-04-15 03:41

用C语言求1000以内的水仙花数可以用for循环。

可以参考下面的代码:

#include<stdio.h>

main()

int i=0,g,s,b,a=0;

for(i=0;i<1000;i++)

{

if(i>=100&&i<=999) 

{  

b=i/100;  

s=(i-b*100)/10;//除10  

g=i-b*100-s*10;  

a=b*b*b+s*s*s+g*g*g; 

if(a==i)printf("%d\n",a); 

}

}

扩展资料:

for循环语法

1、语句最简形式为:

for( ; ; )

2、一般形式为:

for(单次表达式;条件表达式;末尾循环体)

{

中间循环体;

}

其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。

参考资料来源:百度百科-for循环

热心网友 时间:2022-04-15 04:59

#include <iostream>
using namespace std;
void main()
{
int m=1,n=0,x=0;
cout<<"1000以内的所有水仙花数数:"<<endl;;
for(;m<=1000;m++)
{
x=m/100;
n+=x*x*x;
x=m%100/10;
n+=x*x*x;
x=m%100%10;
n+=x*x*x;
if(n==m)
{
cout<<m<<"\t";
}
n=0;
}
cout<<endl;
}

热心网友 时间:2022-04-15 06:34

#include<stdio.h>
void main()
{int i,j,k,n;
printf("水仙花数是:");
for(n=100;n<1000;n++)
{ i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d ",n);
}
printf("\n");
}

热心网友 时间:2022-04-15 08:25

#include<stdio.h>
#include<math.h>
main()
{
int a,i,j,k;

for(a=100;a<1000;a++)
{
i=a/100;
j=a/10%10;
k=a%10;
if(a==pow(i,3)+pow(j,3)+pow(k,3))
printf("%4d",a);
}
printf("\n");

}

参考资料:自己编的,能运行出结果,我也是小白,多交流

热心网友 时间:2022-04-15 10:33

二楼那个哥们用的是C++吧

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com