您好,欢迎访问三七文档
1.100匹马驮货,大马一匹驮3担,中马2担,小马1担,计算大,中,小马的数量。/*1.c*100匹马驮货,大马一匹驮3担,中马2担,小马1担,计算大,中,小马的数量。*/#includestdio.h#includestdlib.hintmain(){intd,z,x;printf(大、中、小马的个数分别为:\n);for(d=1;d98;d++){for(z=1;z98;z++){for(x=1;x98;x++){if(100==(3*d+2*z+1*x)){printf(%d\t%d\t%d\n,d,z,x);}}}}return0;}2,一辆卡车违反交通规则,撞人逃跑。现场3人目击,但没记住车号,只记下车的特征。甲说:牌照前两位数相同,乙说:牌照后两位数相同。丙是位数学家,他说:四位的车号刚好是一个整数的平方。请求出车号。/*2.c*一辆卡车违反交通规则,撞人逃跑。现场3人目击,但没记住车号,只记下车的特征。*甲说:牌照前两位数相同,乙说:牌照后两位数相同。*丙是位数学家,他说:四位的车号刚好是一个整数的平方。请求出车号。*/#includestdio.h#includestdlib.hintmain(){intdata,g,s,b,q,i;printf(可能的车牌号是:\n);for(data=1000;data10000;data++){g=data%10;s=data/10%10;b=data/100%10;q=data/1000;if((g==s)&&(b==q)){for(i=1;i100;i++){if((i*i)==data){printf(%d\n,data);}}}}return0;}3,韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1到5报,最末一个士兵报的数为1;按从1到6报,最后一个士兵报的数为5,按从1到7报,最末一个士兵报的数为4;最后在按从1到11报,最末一个士兵报的数为10.你知道韩信至少有多少兵吗?/*3.c*韩信有一队兵,他想知道有多少人,便让士兵排队报数:*按从1到5报,最末一个士兵报的数为1;按从1到6报,最后一个士兵报的数为5,*按从1到7报,最末一个士兵报的数为4;最后在按从1到11报,最末一个士兵报的数为10.*你知道韩信至少有多少兵吗?*/#includestdio.h#includestdlib.hintmain(){intdata,i,j,k,h;printf(韩信拥有的兵总数可能是:\n);for(data=10;data32767;data++){i=data%5;j=data%6;k=data%7;h=data%11;if((1==i)&&(5==j)&&(4==k)&&(10==h)){printf(%d\n,data);}}return0;}4,若一个口袋中放12个球,其中3个红色,3个白,6个黑,从中取8个球,问有多少种不同颜色搭配?/*4.c*若一个口袋中放12个球,其中3个红色,3个白,6个黑,从中取8个球,问有多少种不同颜色搭配?*/#includestdio.h#includestdlib.hintmain(){intred,write,black;intflag=0;printf(可能的搭配方案有:\n红\t白\t黑\n);for(red=0;red4;red++){for(write=0;write4;write++){for(black=0;black7;black++){if(8==(red+write+black)){flag=flag+1;printf(%d\t%d\t%d\n,red,write,black);}}}}printf(共%d种.\n,flag);return0;}5,鸡兔同笼。已知鸡兔的总头数为head,总脚数为feet,编写程序求鸡兔各多少只?#includestdio.h#definehead20//总头数为head#definefeet50//总脚数为feet,voidmain(void){inti=0;//鸡的个数for(i=0;i=head;i++)if((i*2)+((head-i)*4)==feet)printf(%5d%5d,i,(head-i));//printf(error);}6,小丁和小明小红三个小朋友并排在有灰尘的楼梯上同时从顶上向下走。小明一步下2阶,小红一步下3阶,小丁一步下4阶,如楼梯顶和楼底均有所有3人的脚印,那么仅有一个人脚印的楼梯最少有几级?//小丁和小明小红三个小朋友并排在有灰尘的楼梯上同时从顶上向下走//小明一步下2阶,小红一步下3阶,小丁一步下4阶,//如楼梯顶和楼底均有所有3人的脚印,//那么仅有一个人脚印的楼梯最少有几级?#includestdio.hvoidmain(void){inti,j=0;for(i=1;i100;i++){if((i%2==0&&i%3!=0&&i%4!=0)||(i%2!=0&&i%3==0&&i%4!=0)||(i%2!=0&&i%3!=0&&i%4==0)){printf(%d\n%,i);j++;}if(i%2==0&&i%3==0&&i%4==0)break;}printf(%d%d\n,j,i);}7,在12张卡片中,有3张上面写着3,有3张上面写着5,有3张上面写着7.试问,能否从中抽出5张使他们上面数的和为20?/*7.c*在12张卡片中,有3张上面写着3,有3张上面写着5,有3张上面写着7.试问,能否从中抽出5张使他们上面数的和为20?*/#includestdio.h#includestdlib.hintmain(){intc3,c5,c7;intflag=0;printf(3,5,7和为20可能的搭配方案有:\n(3)\t(5)\t(7)\n);for(c3=1;c34;c3++){for(c5=1;c54;c5++){for(c7=1;c74;c7++){if(5==(c3+c5+c7)){if(20==(c3*3+c5*5+c7*7)){flag=flag+1;printf(%d\t%d\t%d\n,c3,c5,c7);}}}}}printf(共%d种.\n,flag);return0;}8,有一对兔子,从出生后第3个月起每月生一对兔子,小兔子长到第三个月后每月又生一对兔子,假如兔子都不死,问一年中可以繁殖成多少对兔子?提示:兔子的规律为数列1,1,2,3,5,8,...,即从第3个月起每个月的兔子使前两个月的兔子之和。/*8.c*有一对兔子,从出生后第3个月起每月生一对兔子,小兔子长到第三个月后每月又生一对兔子,*假如兔子都不死,问一年中可以繁殖成多少对兔子?提示:兔子的规律为数列1,1,2,3,5,8,...,*即从第3个月起每个月的兔子使前两个月的兔子之和。*//*这个是从手册里找到的一个类似的例子,楼主自己改一下……题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:*/#includestdio.h#includestdlib.hintmain(){longf1,f2;inti;f1=1;f2=1;for(i=1;i=20;i++){printf(%12ld,%12ld,f1,f2);if(i%2==0){printf(\n);/*控制输出,每行四个*/}f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}return0;}/*8.c*有一对兔子,从出生后第3个月起每月生一对兔子,小兔子长到第三个月后每月又生一对兔子,*假如兔子都不死,问一年中可以繁殖成多少对兔子?提示:兔子的规律为数列1,1,2,3,5,8,...,*即从第3个月起每个月的兔子使前两个月的兔子之和。*/#includestdio.h#includestdlib.hintmain(){longf1,f2;inti;f1=1;f2=1;for(i=1;i=6;i++){printf(%12ld,%12ld,f1,f2);if(i%2==0){printf(\n);/*控制输出,每行四个*/}f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/}return0;}9,解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩1阶;每步跨3阶,最后剩2阶;每步跨5阶,最后剩4阶;每步跨6阶最后剩5阶;每步跨7阶,最后一阶不剩。问这条阶梯至少多少阶?、/*9.c*解爱因斯坦数学题。*有一条长阶梯,若每步跨2阶,则最后剩1阶;每步跨3阶,最后剩2阶;*每步跨5阶,最后剩4阶;每步跨6阶最后剩5阶;每步跨7阶,最后一阶不剩。*问这条阶梯至少多少阶?*/#includestdio.h#includestdlib.hintmain(){intstairs=0;inti2,i3,i5,i6,i7;printf(这条阶梯至少有);for(;;stairs++){i2=stairs%2;i3=stairs%3;i5=stairs%5;i6=stairs%6;i7=stairs%7;if((1==i2)&&(2==i3)&&(4==i5)&&(5==i6)&&(0==i7)){printf(%d阶.\n,stairs);break;}}return0;}10,猴子吃桃问题:猴子第一天摘下若干个桃,当即吃了一半,还不过瘾,有多吃了一个,第二天早上又将剩下的桃吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想在吃时,见剩下一个桃了。求第一天共摘了多少?/*10.c*猴子吃桃问题:猴子第一天摘了若干个桃,当即吃了一半,还不过瘾,又多吃了一个,*第二天早上又将剩下的桃吃掉一半,又多吃了一个。*以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,见剩下一个桃了。*求第一天共摘了多少?*/#includestdio.h#includestdlib.hintmain(){intday,x1,x2;day=9;x2=1;while(day0){x1=(x2+1)*2;x2=x1;day=day-1;}printf(第一天共摘了%d个桃.\n,x1);return0;}/*10.c*猴子吃桃问题:猴子第一天摘了若干个桃,当即吃了一半,还不过瘾,又多吃了一个,*第二天早上又将剩下的桃吃掉一半,又多吃了一个。*以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,见剩下一个桃了。*求第一天共摘了多少?*/#includestdio.hvoidmain(){intnum,i;num=1;for(i=9;i=1;i--)num=(num+1)*2;printf(第一天共摘了%d个\n,num);}/*10.c*猴子吃桃问题:猴子第一天摘了若干个桃,当即吃了一半,还不过瘾,又多吃了一个,*第二天早上又将剩下的桃吃掉一半,又多吃了一个。*以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,见剩下一个桃了。*求第一天共摘了多少?*/#includestdio.hvoidmain(){intnum,i;num=1;for(i=9;i=1;i--)num=(num+1)*2;printf(第一天共摘了%d个\n,num);}11,把一张100元的人民币兑换成若干20元和10元的人民币,要求两种面值各至少有一张,请编程,统计并输出所有兑换方法。/*11.c*把一张100元的人民币兑换成若干20元和10元的人民币,要求两种面值各至少有一张,*请编程,统计并输出所有兑换方法。*/#includestdio.h#
本文标题:趣味C语言编程讲解
链接地址:https://www.777doc.com/doc-6140886 .html