小米投影仪:[求救]我要找个老师,我在学C基础!现在有三个C语言的编程问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 04:38:54
一、求“水仙花”数:该数是一个三位数,每一位数的立方和等于该数, 如 153=1*1*1+5*5*5+3*3*3。
二、百钱百鸡问题:公鸡1只3块,母鸡1只2块,小鸡4只1块,要求100块钱买100只鸡。
三、输入两个数,求最大公约数、最小公约数。
有要收徒弟的 加QQ:459894738
最好不用for语句,用switch语句!

既然第一题和第二题.我来个第三题..
我同意........
feitainshizhe - 秀才 二级 4-16 16:56
的第一题..

/*最大公约数,我想最小公约数应该不用求吧.*/
int maxgys(int a,int b)
{
if(a==b)return b;
a=a%b;
return maxgys(a,b);
}

/*最小公倍数*/
int mingbs(int a,int b)
{
return b*maxgys(a,b);
}

main()
{
int a,b;
printf(\"please input two number:\\n\"
scanf(\"%a,%b\",&a,&b);
printf(\"%d,%d\",maxgys(a,b),mingbs(a,b));
}

1.
main()
{ int a,b,c,d;
for(a=1;a<=9;a++)
{ for(b=0;b<=9;b++)
{ for(c=0;b<=9;c++0)
{ d=a*100+b*10+c;
if(d==a*a*a+b*b*b+c*c*c)
printf(\"%d\\n\",d);
}
}
}
}

一:
main()
{int a,b,c,d;
for(i=0;i<5;i++) \*以5个数为例*\
{scanf("%d",&d); \*输入一组三位数*\
a=d%100;
b=((int)(d/10))%10;
c=int (d/100);
if(d=a*a*a+b*b*b+c*c*c)
printf("%d",d);
二:
main()
{inti,j,k;
for(i=1;i<=33;i++)
for(j=1;j<=50;j++)
for(k=1;k<=100;k++)
if(i+j+k=100&&3*i+2*j+k/4=100)
printf("%d,%d,%d",i,j,k);
}
三:大数跟小数取余,直到余数为0,去上次的数为最小公约数

这题太简单了,买本“谭浩强”写的c语言,回家好好看看。

第一个回答有毛病 我改一下
#include <stdio.h>
void main(void)
{
int a,b,c,d;

for(d=100;d<1000;d++)
{
b=((int)(d/10))%10;
a=d%100-b*10; //比如153,a=d%100;则a=53,错误
c=int (d/100);
if (d==a*a*a+b*b*b+c*c*c)
printf("%d\n",d);
}
}