编程经典试题.pdf

上传人:索**** 文档编号:76274904 上传时间:2023-03-08 格式:PDF 页数:7 大小:34.05KB
返回 下载 相关 举报
编程经典试题.pdf_第1页
第1页 / 共7页
编程经典试题.pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《编程经典试题.pdf》由会员分享,可在线阅读,更多相关《编程经典试题.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、贪吃的猴子成绩:100/折扣:0.8 有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。第 2 天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。以后每天早上都吃了前一天剩下的一半加天数个(例如,第5 天吃了前一天剩下的一半加5 个)。到第 n 天早上再想吃的时候,就只剩下一个桃子了。输入:天数n 输出:第一天的桃子个数,输出语句为printf(The monkey got%d peachs in first day.n,sum);Smaple:Input:5 Output The monkey got 114 peachs in first day.

2、提示:问题分析:总共t0 日 吃掉剩余1 t0/2+1 t0-(t0/2+1)=t0/2-1 t1=t0/2-1=t0=(t1+1)*2 2 t1/2+2 t1-(t1/2+2)=t1/2-2 t2=t1/2-2=t1=(t2+2)*2 n-1 tn-2/2+(n-1)tn-2-(tn-2/2+(n-1)=tn-2/2-(n-1)tn-1=tn-2/2-(n-1)=tn-2=(tn-1+n-1)*2 n 1 0 tn-1=1 1001 The monkey got 14 peachs in first day.?测试用例2 以文本方式显示10?以文本方式显示The monkey got 870

3、6 peachs in first day.?测试用例3 以文本方式显示30?以文本方式显示The monkey got 536870914 peachs in first day.?#include#include int main()int a,i,j=1,n;scanf(%d,&n);for(a=n-1;a=1;a-)i=j;j=(i+a)*2;printf(The monkey got%d peachs in first day.n,j);return 0;迭代法用迭代法求.求平方根的迭代公式为:要求前后两次求出的x 的差的绝对值小于10-5。2.0The square root of

4、 2.00 is 1.41421#include#include int main()double a,b=1,n;scanf(%lf,&n);do a=b;b=(a+n/a)/2;while(fabs(a-b)0.00001);printf(The square root of%.2lf is%.5lfn,n,b);return 0;空心字符菱形成绩:100/折扣:0.8 输入:菱型起始字母和菱形的高度。1.输出:C 42.C3.D D4.E E5.F F6.E E7.D D8.C9.#include 10.int main()11.int i,a,j;12.char ch,b;13.sca

5、nf(%c%d,&ch,&a);b=ch;14.for(i=1;i=a-1;i+)printf();printf(%cn,ch);15.for(i=2;i=a;i+)16.for(j=1;ja-i+1;j+)17.printf();18.ch=b+i-1;printf(%c,ch);19.for(j=1;j=2*i-3;j+)20.printf();printf(%cn,ch);21.22.for(i=1;i=a-2;i+)23.for(j=1;j=i;j+)24.printf();25.ch=b+a-i-1;26.printf(%c,ch);27.for(j=1;j=2*(a-i)-3;j+

6、)28.printf();29.printf(%cn,ch);30.31.for(i=1;i=a-1;i+)printf();printf(%cn,b);32.return 0;5.13 黑色星期五在西方,星期五和数字13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的13 日又恰逢星期五就叫“黑色星期五”。输入某年年号和该年的元旦是星期几(1-7),输出该年所有的“黑色星期五”的日期(年/月/日)。输入:4 位年号和该年元旦是星期几输出:所有的“黑色星期五”的日期(年/月/日)测试输入期待的输出时间限制内存限制额外进程测试用例输入2006 7?输出2006/1/1

7、32006/10/13?#include#include int main()int m,n,i,j,k,x;scanf(%d%d,&m,&n);for(i=1;i13;i+)if(i=2)if(i%4=0&i%100!=0)|(i%400=0)x=29;else x=28;else if(i=4|i=6|i=9|i=11)x=30;else x=31;for(j=1,k=n;j=x;j+,k+)if(k=5&j=13)printf(%d/%d/%dn,m,i,j);if(k=7)k=0;if(j=x)n=k+1;return 0;ABC 各教哪门课A、B、C 是小学老师,各教 2 门课,互不

8、重复。共有如下6 门课:语文、算术、政治、地理、音乐和美术。已知:(1)政治老师和算术老师是邻居。(2)地理老师比语文老师年龄大。(3)B 最年轻。(4)A 经常对地理老师和算术老师讲他看过的文学作品。(5)B 经常和音乐老师、语文老师一起游泳。请编程输出 A、B、C 各教哪两门课。#include#include int main()int c,d,e,f,m,n;for(m=1;m4;m+)for(f=1;f4;f+)for(c=1;c4;c+)for(d=1;d4;d+)for(n=1;n4;n+)for(e=1;e4;e+)if(n!=c)+(m!=d)+(d!=2)+(n!=d&n!

9、=1&d!=1)+(m!=e&m!=2&e!=2)+(m+n+c+d+e+f=12)=6)printf(语文课是%c 教的 n 算术课是%c 教的 n 政治课是%c 教的 n 地理课是%c 教的 n音乐课是%c 教的 n 美术课是%c 教的 n,m+A-1,n+A-1,c+A-1,d+A-1,e+A-1,f+A-1);return 0;肿瘤面积在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0 表示。其它肿瘤内和肿瘤外的点都用255 表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。第一行有一个整数

10、n,表示正方形图像的边长。其后 n 行每行有n 个整数,取值为 0 或 255。整数之间用一个空格隔开。已知n 不大于 1000。输出一行,该行包含一个整数,为要求的肿瘤内的像素点的个数。例子输入5 255 255 255 255 255 255 0 0 0 255 255 0 255 0 255 255 0 0 0 255 255 255 255 255 255 例子输出 1#include int main()int i,n,count=0,sum=0,a1000;scanf(%d,&n);for(i=0;in*n;i+)scanf(%d,&ai);for(i=0;in*n;i+)if(a

11、i=0)count+;if(ai+1!=0)break;count=count-2;for(i=0;in*n;i+)if(ai=0)sum+;sum=(sum-4-2*count)/2;sum=sum*count;printf(%dn,sum);return 0;冒泡法排序冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1 个和第 2 个数,将小数放前,大数放后。然后比较第2个数和第3 个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对

12、数开始比较(因为可能由于第2 个数和第3 个数的交换,使得第1 个数不再小于第2 个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。编写程序,对输入的十个数按照从小到大排序#include int main()int a10,i,max,j;for(i=0;i=9;i+)scanf(%d,&ai);for(i=1;i=9;i+)for(j=1;jaj)max

13、=aj;aj=aj-1;aj-1=max;for(j=0;j=9;j+)printf(%d,aj);printf(n);return 0;给数组中的元素按顺序编号成绩:100/折扣:0.8 对数组 a10 中的十个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组a 中元素的顺序,且相同的整数要具有相同的编号。例如数组是:A=(5,3,4,7,3,5,6,8,9,10)则输出为:(4,1,3,7,1,4,6,8,9,10)#include int main()int i,j,k=0,a10;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)k=

14、1;for(j=0;jaj)k+;printf(%3d,k);printf(n);return 0;大家一起做游戏幼儿园的小朋友们刚学习了如何数数,阿姨在下课时组织大家一起玩游戏。规则如下:所有的小朋友绕成一圈,顺序排号,从第一个小朋友开始报数,凡是报到固定数字(例如 5)的,都退出该游戏,直到只剩下一位小朋友游戏才中止。每个小朋友都希望自己能有更多的练习机会,所以都希望成为最终被留下的那位。现在,请大家帮小朋友们计算一下,在第一次排号的时候排到第几位才能成为最终被留下的小朋友。输入;小朋友的个数(=50),要被练习的数字输出:最终被留下的小朋友的序号说明:如“要被练习的数字”是5,则每次数到

15、5 的同学要退出该游戏测试输入期待的输出时间限制内存限制额外进程测试用例1 以文本方式显示4 3?以文本方式显示The left child is NO 1.?测试用例2 以文本方式显示10 5?以文本方式显示The left child is NO 3.?#include int main()int i,j,a50,m,n,count=0;scanf(%d%d,&n,&m);for(i=0;in;i+)ai=i+1;do for(i=0;in;i+)count+;if(count=m)if(i=n-1)n-;count=0;else for(j=i+1;jn;j+)aj-1=aj;n-;count=1;i=0;while(n!=1);printf(The left child is NO%d.n,ai);return 0;

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

当前位置:首页 > 技术资料 > 实施方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁