ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:33.81KB ,
资源ID:6488323      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6488323.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言趣味程序设计题目百例.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言趣味程序设计题目百例.docx

1、C语言趣味程序设计题目百例Contest - 2011级C语言课程大作业Start Time: 2012-02-19 16:25:00 End Time: 2012-03-01 22:00:00Current Time: 2012-2-23 15:51:18 Status:RunningPublic Problem ID TitleY 1211 Problem A 趣味程序设计狼追兔子 Y 1212 Problem B 趣味程序设计巧夺偶数 Y 1213 Problem C 趣味程序设计五猴分桃 Y 1214 Problem D 趣味程序设计高次方数 Y 1215 Problem E 趣味程序

2、设计借书方案 Y 1216 Problem F 趣味程序设计过桥问题 Y 1217 Problem G 趣味程序设计数制转换 1218 Problem H 趣味程序设计打渔晒网 N 1219 Problem I 趣味程序设计喝酒问题 Y 1220 Problem J 趣味程序设计哥德巴赫猜想 1221 Problem K 趣味程序设计打印日历 Y 1222 Problem L 趣味程序设计抓交通肇事逃逸犯 Y 1223 Problem M 趣味程序设计反序数 Y 1224 Problem N 趣味程序设计新郎新娘 1225 Problem O 趣味程序设计称重砝码 1226 Problem P

3、 趣味程序设计求车速 Y 1227 Problem Q 趣味程序设计谁是窃贼 Y 1228 Problem R 趣味程序设计出售金鱼 Y 1229 Problem S 趣味程序设计百钱百鸡 Y 1230 Problem T 趣味程序设计谜语博士 1231 Problem U 趣味程序设计猜牌术() Y 1232 Problem V 趣味程序设计舍罕王的失算 1233 Problem W 趣味程序设计怎样存钱利最大 1234 Problem X 趣味程序设计猜牌术(二) Y 1235 Problem Y 趣味程序设计爱因斯坦的数学题 Y 1236 Problem Z 趣味程序设计取火柴游戏 12

4、37 Problem a 趣味程序设计平分鱼和筐 Y 1238 Problem b 趣味程序设计可逆素数 Y 1239 Problem c 趣味程序设计三色球问题 Y 1240 Problem d 趣味程序设计抢n游戏 写在最前:本文档中的题目;在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的定义就可以运行了.由于能力不足.有题目未解决的或者有错误的我会认真听取大家的.意见的.呵呵.有一两个.偷了下懒哦提供原题目还有本人自己的解答的源代码。感谢大家的。建议.问题 A: 趣味程序设计狼追兔子时间限制: 1 Sec内存限制: 128 MB提交: 341解决: 63提交状态讨论版题目

5、描述一只兔子躲进了n个环形分布的洞的某一个中。狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。以后每次多一个洞去找兔子这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?输入有多组测试数据,读取到文件结尾符为止。每组测试数据输入n(2n100),即洞穴个数。输入到文件结尾符为止。输出兔子可能藏匿的洞。如果不止一个,按从小到大的顺序输出。如果不存在,输出空行。样例输入10815样例输出2 4 7 92 4 5 7 8 9 11 12 14提示用一个数组a10,对应的元素a0,a1,a2a9对应表示10个洞,初值均置1。通过一个循环用“穷举法”找兔子

6、,第n次查找对应第(n1)%10个洞,如果在第(n1)%10个洞中没有找到兔子,因此将数组元素a(n1)%10置0值。循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。#include #include int ok110; int main() int n,s,i,find; while(scanf(%d,&n)!=EOF) memset(ok,0,sizeof(ok); for(i=1;i=200;i+) if(!okfind=(i*(i+1)/2)%n) if(find=0) okn=1; elseokfind=1; for(s=0,i=1;i=n;i+)

7、s+=oki; for(i=1,find=0;i=n;i+) if(!oki) if(find!=(n-s-1) printf(%d ,i);find+; elseprintf(%d,i); printf(n); return 0; 问题 B: 趣味程序设计巧夺偶数时间限制: 1 Sec内存限制: 128 MB提交: 174解决: 73提交状态讨论版题目描述桌子上有25颗棋子。游戏双方轮流取子,每人每次最少取走一颗棋子,最多可取走3颗棋子。双方照这样取下去,直到取光所有的棋子。于是双方手中必然一方为偶数,一方为奇数,偶数方为胜者。请编程实现人机游戏。人先走,计算机后走。若游戏结束,则输出“Ga

8、me over!”。输入输入人取走棋子的个数。输入一次,按一次回车。游戏不止一轮。按下文件结尾符,退出游戏。必须在完成一轮后退出游戏。不得中途退出游戏。输出输出计算机取走的个数,每次输出最优解。样例输入11111112132131样例输出333333Game over!231231Game over!#include int main() int n,sum=25; loop: while(scanf(%d,&n)!=EOF) sum-=n; if(sum=1) printf(1nGame over!n); sum=25; goto loop; if(sum=3|sum=2) printf(1

9、n); sum-; else if(sum=0) printf(Game over!n); sum=25; goto loop; else printf(%dn,4-n); if(n=1) sum-=3; if(n=2) sum-=2; if(n=3) sum-=1; return 0; 问题 C: 趣味程序设计五猴分桃时间限制: 1 Sec内存限制: 128 MB提交: 186解决: 102提交状态讨论版题目描述5只猴子一起摘了1堆桃子。因为太累了,它们商量决定,先睡一觉再分。过了不知多久,1只猴子来了。它见别的猴子没来,便将这1堆桃子平均分成5份,结果多了1个,就将多的这个吃了,拿走其中的

10、1堆。又过了不知多久,第2只猴子来了。它不知道有1个同伴已经来过,还以为自己是第1个到的呢。于是将地上的桃子堆起来,平均分成5份,发现也多了1个,同样吃了这1个,拿走其中的1堆。第3只、第4只、第5只猴子都是这样问这5只猴子至少摘了多少个桃子?第5个猴子走后还剩下多少个桃子?输入无输出输出5只猴子至少摘了多少个桃子,第5个猴子走后还剩下多少个桃子。中间用空格隔开。样例输入样例输出3121 1020提示思路一:“分”假设至少摘了first_num个桃子,则令first_num6,7,8,9,10,这样不断的试,如果那个数能按规则(first_num=(first_num-1)/5*4)被5只猴子

11、顺利的吃1个并分5组,则为所求。思路二:“凑”假设最后剩下last_num个桃子,则令last_num4,5,6,7,8,9,10,这样不断的试,如果那个数能按规则(last_num%4=0则last_num = last_num / 4 * 5 + 1)凑5次,则为所求。#include #include int main() int first,i,t; for(i=1;i5000;i+=5) first=i; for(t=1;t=5;t+) if(first%5=1) first=(first-1)/5*4; if(t=5) printf(%d %dn,i,first); elsebre

12、ak; / printf(time:%.2lfn,(double)clock() / CLOCKS_PER_SEC); return 0; 问题 D: 趣味程序设计高次方数时间限制: 1 Sec内存限制: 128 MB提交: 559解决: 80提交状态讨论版题目描述求13的n次方(12n130*0)的最后三位数。例如:13的13次方的最后三位数是253,13的20次方的最后三位数是801。输入有多组测试数据,每组测试数据一行,即整数n。以文件结尾符结束。输出输出13的n次方的最后三位数样例输入1320样例输出253801提示64位整型用 long long 表示,格式串为%lld#includ

13、e int fun(long long n) int k=13,t=1; while(n0) if(n%2=1) t=t*k%1000; k=k*k%1000; n=1; return t; int main() long long n; while(scanf(%lld,&n)!=EOF) printf(%03dn,fun(n); return 0; 问题 E: 趣味程序设计借书方案时间限制: 1 Sec内存限制: 128 MB提交: 429解决: 154提交状态讨论版题目描述小明有n本新书,要借给A、B、C三位小朋友。只借一次。若每人每次只能借一本,则可以有多少种不同的借法?输入有多组测试

14、数据,输入整数n (5n1000),输入到文件结尾符为止。输出借法总数。样例输入5678样例输出60120210336#include int main() long long n; while(scanf(%lld,&n)!=EOF) printf(%lldn,n*(n-1)*(n-2); return 0; 问题 F: 趣味程序设计过桥问题时间限制: 1 Sec内存限制: 128 MB提交: 102解决: 19提交状态讨论版题目描述过桥问题。有N(N2)个人在晚上需要从X地到达Y地,中间要过一座桥,过桥需要手电筒(而他们只有1个手电筒),每次最多两个人一起过桥(否则桥会垮)。N个人的过桥时

15、间依次存入数组tN中,分别为:t0, t1, , tN-1。过桥的速度以慢的人为准!注意:手电筒不能丢过桥!问题是:编程求这N个人过桥所花的最短时间。输入有多组测试数据,每组数据先输入一个人数N,然后输入这N个人过桥所花的时间。输出输出对应的最短时间。样例输入4 1 2 5 104 5 2 10 1样例输出1717#include void fun(int *a,int n) int i,j,t,k; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(ajak) k=j; if(i!=k) t=ai; ai=ak; ak=t; int main() int a

16、100,i,n,time,k; while(scanf(%d,&n)!=EOF) time=0; for(i=0;in;i+) scanf(%d,&ai); fun(a,n); k=n-1; while(1) if(k=a0+ak) time+=(2*a0+ak-1+ak); if(2*a1a0+ak) time+=(a0+2*a1+ak); k-=2; return 0; 问题 G: 趣味程序设计数制转换时间限制: 1 Sec内存限制: 128 MB提交: 265解决: 110提交状态讨论版题目描述将任一整数转换为二进制数形式并输出。输入有多行数据,每行输入一十进制数字n(1n2147483

17、647)。输入到文件结尾符为止。输出输出n的二进制表示样例输入1234567样例输出11011100101110111#include #include void f(long long num) if (num) f(num/2); printf(%lld, num % 2); int main(void) long long num; while (scanf(%lld, &num) != EOF) f(num); putchar(n); return 0; 问题 H: 趣味程序设计打渔晒网时间限制: 1 Sec内存限制: 128 MB提交: 205解决: 28提交状态讨论版题目描述中国有

18、名俗语叫“三天打鱼两天晒网”。小强从2000年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是在“打鱼”,还是在“晒网”?输入输入日期,格式是yyyy-mm-dd,例如2012-01-23。输入到文件结尾符为止。输出如果小强在打鱼,那么输出“He is fishing.”。如果小强子在晒网,那么输出“He is drying nets.”样例输入2000-01-012000-01-05样例输出He is fishing.He is drying nets.源代码:#includeint fun(int a) if(a%4=0&a%100!=0) return 1; if(a%40

19、0=0) return 1; return 0;int sumday(int year,int month,int day) int sum_day=0,a=0; if(month2) if(fun(year) a=1; if(month=2) sum_day+=31; if(month=3) sum_day+=28; if(month=4) sum_day+=31; if(month=5) sum_day+=30; if(month=6) sum_day+=31; if(month=7) sum_day+=30; if(month=8) sum_day+=31; if(month=9) su

20、m_day+=31; if(month=10) sum_day+=30; if(month=11) sum_day+=31; if(month=12) sum_day+=30; sum_day=sum_day+a+day; return sum_day;int sumyear(int year) int sum_year=0,i; for(i=2000;iyear;i+) sum_year+=(365+fun(i); return sum_year;int main() int year,month,day,sum,t; while(scanf(%d-%d-%d,&year,&month,&d

21、ay)!=EOF) sum=sumday(year,month,day)+sumyear(year); t=sum%5; if(t=1|t=2|t=3) printf(He is fishing.n); if(t=0|t=4) printf(He is drying nets.n); return 0;问题 I: 趣味程序设计喝酒问题时间限制: 1 Sec内存限制: 128 MB提交: 97解决: 30提交状态讨论版题目描述n个人同桌吃饭,其中一个是数学家,他出了一道难题:假定桌子上有3瓶啤酒,将每瓶中的酒平分给几个人喝,但喝各瓶酒的人数是不一样的,不过其中有且只有一个人喝了每一瓶中的酒,且加起来刚好是一瓶,请问喝这3瓶酒的各有多少人?输入有多组测试数据,每行输入总人数n。输入到文件结尾符为止。输出输出这三杯酒分别被几个人喝,三个数字从小到大排列。如果无解,输出“No solution”。样例输入3410样例输出No solutionNo solution2 3 6问题 J: 趣味程序设计哥德巴赫猜想时间限制: 1 Sec内存限制: 128 MB提交: 216解决: 98提交状态

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1