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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言 求1000以内的水仙花数相关的知识,希望对你有一定的参考价值。

用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循环

参考技术A #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;
参考技术B #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");
参考技术C #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");

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

参考技术D 二楼那个哥们用的是C++吧

用c语言求解 输出1-50以内的所有勾股数

参考技术A #include <stdio.h>
void main()
int a,b,c;
for(a=2;a<=48;a++)
for(b=a+1;b<=49;b++)
for(c=b+1;c<=50;c++)
if(a*a+b*b==c*c)
printf("%-4d%-4d%-4d\\n",a,b,c);

参考技术B

# include <stdio.h>

# include <math.h>

#define N 50

int main ()

int a[N],i,j,m,x;

for(m=0,x=1;m<N;m++,x++)

a[m]=x*x;

for(i=1;i<N;i++)

for(j=i+1;j<N;j++)

for(m=0;m<N;m++)

if(i*i+j*j==a[m])

x=sqrt(a[m]);

printf("%d %d %d\\n",i,j,x);break;

return 0;

好不容易用数组做出来,发现早就有人用for做出来了,发出来分享一下吧。


以上是关于用C语言 求1000以内的水仙花数的主要内容,如果未能解决你的问题,请参考以下文章

用c语言编程1000以内的“水仙花数”、并且结果偶数输出奇数不输出、求大神速度指教、拜托了🙏

用c语言输出1000以内的水仙花数

c语言1000以内的水仙花数

如何用VB语言求水仙花数和求1~1000以内的素数

C语言,编程打印,1000以内所有的水仙花数,所谓水仙花数是指一个三位数,其个位数字立方和等于该数

求水仙花数c语言