c语言竞赛练习题(标准答案)

上传人:千****8 文档编号:115374904 上传时间:2019-11-13 格式:DOC 页数:77 大小:368KB
返回 下载 相关 举报
c语言竞赛练习题(标准答案)_第1页
第1页 / 共77页
c语言竞赛练习题(标准答案)_第2页
第2页 / 共77页
c语言竞赛练习题(标准答案)_第3页
第3页 / 共77页
c语言竞赛练习题(标准答案)_第4页
第4页 / 共77页
c语言竞赛练习题(标准答案)_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《c语言竞赛练习题(标准答案)》由会员分享,可在线阅读,更多相关《c语言竞赛练习题(标准答案)(77页珍藏版)》请在金锄头文库上搜索。

1、C语言竞赛练习题目录一、穷举1、求最大数2、高次方数的尾数3、借书方案知多少6、抓交通肇事犯12、平分七筐鱼13、有限5位数14、除不尽的数15、一个奇异的三位数16、位反序数17、求车速18、阿姆斯特朗数19、完全数20、亲密数21、自守数22、回文数23、求具有abcd=(ab+cd)2性质的四位数24、求素数25、歌德巴赫猜想26、要发就发27、素数幻方28、百钱百鸡问题29、斯坦的数学题31、换分币32、三色球问题33、马克思手稿中的数学题34、分数比较、分数之和35、将真分数分解为埃及分数36、列出真分数序列37、计算分数的精确值38、谁是窃贼39、黑与白40、迷语博士的难题41、哪

2、个大夫哪天值班42、区分旅客国籍43、谁家孩子跑最慢44、拉丁方45、填表格46、19分成1:2:3的三个3位数47、19组成三个3位的平方数48、由8个整数形成奇特的立方体49、减式还原50、乘式还原51、九位累进可除数52、魔术师的猜牌术53、约瑟夫问题、邮票组合54、和数能表示123的5个正整数55、可称140磅的4块砝码56、10个小孩分糖果57、小明买书61、四方定理63、尼科彻斯定理65、自动发牌66、黑白子交换67、常胜将军二、计算4、数制转换5、打鱼还是晒网7、该存多少钱8、怎样存钱利最大9、捕鱼和分鱼10、出售金鱼11、分数四则运算30、年龄几何58、波松瓦酒的分酒趣题59、

3、波松瓦酒的分酒趣题60、角谷猜想62、卡布列克常数64、回文数的形成1 求最大数 问555555的约数中最大的三位数是多少?*问题分析与算法设计 根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。*程序说明与注释#includevoid main() long i; int j; printf(Please input number:); scanf(%ld,&i); for(j=999;j=100;j-) if(i%j=

4、0) printf(The max factor with 3 digits in %ld is:%d,n,i,j); break; *运行结果 输入:555555 输出:The max factor with 3 digits in 555555 is:7772 高次方数的尾数 求13的13次方的最后三位数*问题分析与算法设计 解本题最直接的方法是:将13累乘13次方截取最后三位即可。 但是由于计算机所能表示的整数范围有限,用这种“正确”的算法不可能得到正确的结果。事实上,题目仅要求最后三位的值,完全没有必要求13的13次方的完整结果。 研究乘法的规律发现:乘积的最后三位的值只与乘数和被乘数

5、的后三位有关,与乘数和被乘数的高位无关。利用这一规律,可以大大简化程序。*程序说明与注释#includevoid main() int i,x,y,last=1; /*变量last保存求X的Y次方过程中的部分乘积的后三位*/ printf(Input X and Y(X*Y):); scanf(%d*%d,&x,&y); for(i=1;i=y;i+) /*X自乘Y次*/ last=last*x%1000; /*将last乘X后对1000取模,即求积的后三位*/ printf(The last 3 digits of %d*%d is:%dn,x,y,last%1000); /*打印结果*/*

6、运行结果 Input X and Y(X*Y):13*13 The last 3 digits of 13*13 is:253 Input X and Y(X*Y):13*20The last 3 digits of 13*20 is:801 3 借书方案知多少 小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?*问题分析与算法设计 本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对五本书从1至5进行编号,然后使用穷举的方法。假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。*程序说

7、明与注释void main() int a,b,c,count=0; printf(There are diffrent methods for XM to distribute books to 3 readers:n); for(a=1;a=5;a+) /*穷举第一个人借5本书中的1本的全部情况*/ for(b=1;b=5;b+) /*穷举第二个人借5本书中的一本的全部情况*/ for(c=1;a!=b&c=5;c+) /*当前两个人借不同的书时,穷举第三个人借5本书 中的1本的全部情况*/ if(c!=a&c!=b) /*判断第三人与前两个人借的书是否不同*/ printf(count%

8、8?%2d:%d,%d,%d :%2d:%d,%d,%dn ,+count,a,b,c); /*打印可能的借阅方法*/*运行结果 There are diffrent methods for XM to distribute books to 3 readers: 1: 1,2,3 2: 1,2,4 3: 1,2,5 4: 1,3,2 5: 1,3,4 6: 1,3,5 7: 1,4,2 8: 1,4,3 9: 1,4,5 10:1,5,2 11:1,5,3 12:1,5,4 13:2,1,3 14:2,1,4 15:2,1,5 16:2,3,1 17:2,3,4 18:2,3,5 19:2,

9、4,1 20:2,4,3 21:2,4,5 22:2,5,1 23:2,5,3 24:2,5,4 25:3,1,2 26:3,1,4 27:3,1,5 28:3,2,1 29:3,2,4 30:3,2,5 31:3,4,1 32:3,4,2 33:3,4,5 34:3,5,1 35:3,5,2 36:3,5,4 37:4,1,2 38:4,1,3 39:4,1,5 40:4,2,1 41:4,2,3 42:4,2,5 43:4,3,1 44:4,3,2 45:4,3,5 46:4,5,1 47:4,5,2 48:4,5,3 49:5,1,2 50:5,1,3 51:5,1,4 52:5,2,1

10、 53:5,2,3 54:5,2,4 55:5,3,1 56:5,3,2 57:5,3,4 58:5,4,1 59:5,4,2 60:5,4,34 数制转换 将任一整数转换为二进制形式*问题分析与算法设计 将十进制整数转换为二进制的方法很多,这里介绍的实现方法利用了C语言能够对位进行操作的特点。对于C语言来说,一个整数在计算机内就是以二进制的形式存储的,所以没有必要再将一个整数经过一系列的运算转换为二进制形式,只要将整数在内存中的二进制表示输出即可。*程序说明与注释#includevoid printb(int,int);void main() int x;printf(Input numbe

11、r:); scanf(%d,&x); printf(number of decimal form:%dn,x); printf( its binary form:); printb(x,sizeof(int)*8); /*x:整数 sizeof(int):int型在内存中所占的字节数 sizeof(int)*8:int型对应的位数*/ putchar(n); void printb(int x,int n) if(n0) putchar(0+(unsigned)(x&(1(n-1); /*输出第n位*/ printb(x,n-1); /*归调用,输出x的后n-1位*/ *运行结果输入:8输出:

12、number of decimal form:8 its bunary form:0000000000001000输入:-8输出:number of decimal form:-8its binary form:1111111111111000输入:32767输出:number of decimal form:32767 its binary form:0111111111111111输入:-32768输出:number of decimal form:-32768 its binary form:1000000000000000输入:128输出:number of decimal form:128 its binary form:00000000100000005 打鱼还是晒网 中国有句俗语叫“三天打鱼两天晒网”。某人从

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号