c语言求1000以内水仙花数。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言求1000以内水仙花数。相关的知识,希望对你有一定的参考价值。
int main(int argc, const char * argv[])
for(int i=100;i<=999;i++)
int a=i/100;
int b=i%100/10;
int c=i%100%10;
if (i==a*a*a+b*b*b+c+c+c)
printf("%d\n",i);
continue;
return 0;
哪错了找不出,输出的是370.
printf("%d\n",i);
continue;
+ 变成 *追问
题目是打印1-100的水仙花数。为什么要变成+呢 不是 个十百相加才是那个水仙花么、
追答你定义个 c 用的是c+c+c ; 应该是 c*c*c;
追问表成+都什么不输出了 你的意识是不是a*a*a+b*b*b+c*c*c里边的 +变成*? 那直接不输出了。
参考技术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语言求解 输出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以内的“水仙花数”、并且结果偶数输出奇数不输出、求大神速度指教、拜托了🙏