C语言的基本问题 很急

希望大家能帮忙用简单的循环结构写下列的程序
3)输出1000以内的水仙花数:如:153=1*1*1+5*5*5+3*3*3

(4) 求200到300之间的数,且满足条件:他们三个数之积为42,三个数之和为12

5)鸡兔共有30只,腿90只,编程计算鸡兔共有多少只

(6)计算e=1+1/1!+1/2!+1/3!+……+1/n!。精度为1E-6(既1/n!<1E-6就停止循环。)

(7)写程序:输出10以内的加法表。

(8)求两个非负整数u和v的最大公约数。

希望大家能帮忙 很急的 希望能写出正确的 谢谢了

第1个回答  推荐于2016-10-22
3:
main()
{
int a,b,c,d,i;
for(a=100;a<1000;a++)
{
b=a%10;
c=(a/10)%10;
d=a/100;
if(a==b*b*b+c*c*c+d*d*d)
printf("%d,",a);
}
}
4:
main()
{
int a,b,c,d,i;
for(a=200;a<300;a++)
{
b=a%10;
c=(a/10)%10;
d=a/100;
if(b+c+d==12&&b*c*d==42)
printf("%d,",a);
}
}
5:
main()
{
int i,j;
for(i=1;i<30;i++)
{
for(j=1;j<30;j++)
if(i+j==30&&i*2+j*4==90)
printf("%d,%d",i,j);
}
}
6:
main()
{
int i=1,j=1;
float e=1.0,k;
do{
j=i*j;
k=1.0/j;
e=e+k;
i++;
}while(k>1e-6);
printf("%f\n",e);
}

7:
main()
{
int a,b,c,i;
for(a=1;a<10;a++)
{
for(b=1;b<10;b++)
{
c=a+b;
printf("%d+%d=%d ",a,b,c);
}
printf("\n");
}
}
8:
int hc(int u,int v)
{
int temp,s;
if(v>u)
{
temp=u;
u=v;
v=temp;
}
while((s=u%v)!=0)
{
u=v;
v=s;
}
return(v);
}
main()
{
int u,v,h;
scanf("%d,%d",&u,&v);
h=hc(u,v);
printf("zuidagongyue=%d",h);
}

OK 全部搞定~LZ有什么问题可以问我~本回答被提问者采纳
第2个回答  2009-04-13
OK了,输入3~8就可以看到答案
#include <stdio.h>
#include <math.h>
main()
{
long i=0,a=0,b=0,c=0,t=0;
double sum=0;
int n=0,j=0;
printf("Please enter the problem number 3-8:");
scanf("%d",&n);
if(n==3)
{
for(i=1;i<=1000;i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d=%d*%d*%d+%d*%d*%d+%d*%d*%d\n",i,a,a,a,b,b,b,c,c,c);
}
}
else if(n==4)
{
for(i=200;i<=300;i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
if(a+b+c==12&&a*b*c==42)
printf("%d\n",i);
}
}
else if(n==5)
{
for(i=1;i<30;i++)
for(j=30-i;j<30;j++)
if(i*2+j*4==90&&i+j==30)
printf("鸡%d,兔%d\n",i,j);
}
else if(n==6)
{
a=1;
for(i=1;fabs(1.0/a)>1e-6;i++)
{
sum += 1.0/a;
a *= i;
}
printf("%lf\n",sum);
}
else if(n==7)
{
for(i=1;i<10;i++)
for(j=1;j<10;j++)
{
if(j%5==0)
printf("\n");
printf("%d+%d=%d ",i,j,i+j);
}
}
else if(n==8)
{
scanf("%d%d",&a,&b);
for(;b!=0;)
{
if(a<b)
{
t=a;
a=b;
b=t;
}
t=a;
a=b;
b=t%b;
}
printf("%d\n",a);
}

else
return;
}
第3个回答  2009-04-13
1.
#include <iostream>
#include<cmath>
using namespace std;

int main()
{
for(int i=1,j;i<1000;i++)
{
int x=i,sum=0,
a[3];
for(j=0;j<3;j++)
a[j]=0;
for(j=0;x>0;j++)
{
a[j]=x%10;
sum+=pow(a[j],3.0);
x/=10;
}
if(i==sum) cout<<i<<endl;
}
return 0;
}
////////////////////////////////////////////////
2.
#include <iostream>
using namespace std;

int main()
{
for(int i=200,j;i<300;i++)
{
int x=i,sum=0,pro=1,
a[3];
for(j=0;j<3;j++)
a[j]=0;
for(j=0;x>0;j++)
{
a[j]=x%10;
sum+=a[j];
pro*=a[j];
x/=10;
}
if(sum==12&&pro==42) cout<<i<<endl;
}
return 0;
}
//////////////////////////////////////////////////////////
3.
#include <iostream>
using namespace std;

int main()
{
for(int i=0;i<=30;i++)
{
int j=30-i;
if(2*i+4*j==90) cout<<i<<' '<<j<<endl;
}
return 0;
}
////////////////////////////////////////////////////////
4.
#include <iostream>
using namespace std;

int main()
{
float sum=0;
for(int i=1,j;;i++)
{
int fac=1;
for(j=1;j<=i;j++)
fac*=j;
if(1.0/fac<1E-6) break;
sum+=1.0/fac;
}
cout<<sum<<endl;
return 0;
}
/////////////////////////////////////////////////
5.
#include <iostream>
using namespace std;

int main()
{
for(int i=1,j;i<10;i++)
{
int k=i;
for(j=1;j<=i||k>0;j++,k--)
cout<<k<<'+'<<j<<'='<<k+j<<' ';
cout<<endl;
}

return 0;
}
/////////////////////////////////////////////////////
6.
#include <iostream>
using namespace std;

int main()
{
int u,v;
cout<<"输入量个非负整数:";
cin>>u>>v;

for(int i=u-1;i>0;i--)
if(u%i==0)
{
bool b=false;
for(int j=v-1;j>0;j--)
if(v%j==0&&i==j)
{
cout<<j<<' ';
b=true;
break;
}
if(b) break;
}
return 0;
}
第4个回答  2009-04-13
你真够抠门的了,平均一题还不到3分
相似回答