c语言编程20例_第1页
c语言编程20例_第2页
c语言编程20例_第3页
c语言编程20例_第4页
c语言编程20例_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1开学第一考问题描述开学的第一个周末,像往届一样,新生都会参加英语分级考试。所谓英语分 级考试就是为了测试一下新生的英语水平,并将他们分成14,4个等级。分级规则如下:95分(含95分)以上为Ievel4,只需修一个学期的大学英语;85分 (含85分)至95分为IeveI3,需修大学英语两个学期;75分(含75分)至85 分为IeveI2,需修3个学期的大学英语;剩下的为levell,对不起,就只能修4 个学期的大学英语了。小明是刚12级计算机系的新生,他不小心知道了自己的 分级考试成绩,于是乎他就迫切的想知道自己会被分在哪一个IeveI,这不,就麻烦一下新生中大神小强,写一个小程序来判定一下

2、小明会被分在哪一个IeveI吧!输入格式输入一个整数代表小明的分数输出格式输出小明被分在哪一个英语等级,IeveII、IeveI2、Ievel3、Ievel4,如果 分数不在0,100区间内,输出“ Error !” (注意:不输出引号)样例输入60101样例输出IeveI1Error!解答:#i nclude int mai n()int a;scan f(%d,&a);if(a100)prin tf(Error!n);else if(a=95)prin tf(level4n);else if(a=85)prin tf(level3n);else if(a=75)prin tf(level2

3、n);else if(a=0)prin tf(level1n); else prin tf(Error!n); return 0;2.小明的考题1 分段函数问题描述小明是一个数学狂,自吹自擂说自己的数学是如何如何的好,但是他的风头却 被大神小强抢光了,小明就很郁闷,自言自语了一句:不就是编程牛逼点嘛, 有本事编几个程序出来解解数学题啊。运气挺背的是,小强就在他后面,不小 心就听到了小强倒是很大方的说:要不你就出几个题考考我?小明这下就 得瑟了,呵,小样,看我不整死你!因为小明不知大神的底,于是乎第一题就 出了一个简单的分段函数题:gW= x- - 550, x E Z f(x)=、 g(x)输

4、入格式输入仅包含一个整数 X,并且-100 = x = 100输出格式输出仅一个整数,表示函数值f (X)样例输入-10解答#i nclude int mai n()int x,g,f; scan f(%d, &x); g=x*x-550; if(xg) f=g+x+4;else f=g-x;prin tf(%dn,f);return 0;3.小明的考题2数与单词问题描述上一道分段函数的题目被小强轻松秒杀了,这一次,小明知道该出有深度一 点的题目了。“数学是科学之王”,小明对此坚信不疑!数学的强悍之处在于它能通过一种映射的关系,把两种不相关的东西联系在一起。现在,小明想考小强的是,小强需要建立

5、起阿拉伯数字与英文字母的对应关系,小明不想过于为难小强,就限制了一下定义域为0 9的10个数字,映射规则为:0 zero、一one、 9nine,现在小明随便说一个09的数字,小强的程序能后输出该数字对应的 英文单词。输入格式输入数据为一个0,9区间的整数输出格式输出该数字对应的英文单词样例输入8样例输出eight解答#includeint main()int x;scanf(%d, &x);if(x=0)prin tf(zeron);else if(x=1)printf(onen);else if(x=2)printf(twon);else if(x=3)printf(threen);els

6、e if(x=4)printf(fourn);else if(x=5)printf(fiven);else if(x=6)printf(sixn);else if(x=7)printf(sevenn);else if(x=8)printf(eightn);else if(x=9)printf(ninen);return 0;4小明的考题3必杀技问题描述小明为了这最后一题煞费苦心,不过他还是没有什么头绪。这天,他去 宿舍楼下的邮局给高中的那群哥们姐妹寄几张咱厦大魅力风光的明信片。抬头的时候瞥了一眼墙上挂着的信函资费说明,详情如下:平信分本埠和外埠,按首重和续重计收资费,首重100克以内,每重20

7、克(不足20克按20克计算)本埠0.80元,外埠1.20元。续重1012000克,每 重100克(不足100克按100克计算)本埠1.20元,外埠2.00元。这下,小明可就有主意了。他就用这个信函的资费考考小强。输入格式输入两个整数k w,以空格隔开。(k=1 or k=2,k=1代表本埠,k=2代表外埠 w代表信函重量,单位g ,已知0wv=2000输出格式输出资费,结果保留两位小数。样例输入1 95样例输出4.00解答#includeint main()int k,w;double s;scanf(%d%d,&k,&w);if(k=1)if(w%20) s=(w/20+1)*0.8;els

8、e s=w/20*0.8;elseif(w%100) s=4.00+(w-100)/100+1)*1.2;else s=4.00+(w-100)/100*1.2;if(k=2)if(w=100)if(w%20)s=(w/20+1)*1.2;else s=w/20*1.2;elseif(w%100) s=6.00+(w-100)/100+1)*2.00;else s=6.00+(w-100)/100*2.00;printf(%.2lfn,s);return 0;5.四则运算器问题描述三题下来,小明败得彻彻底底的,看着小强写的那些代码,自己瞬间压力山 大了。不过,小明就是小明,灵光忽地乍现:自己何

9、不拜小强为师,这样以后的 编程不就有师傅做靠山,那不就变得easy啦?小明说到做到,当即就拜小强为师。小强秉着助人为乐的原则,也就收下了小明这个徒弟。不过呢,拜师得有考 验才行了,这不,就换小强考考小明啦!不过,小强也不打算怎么为难小强!既 然小明数学不错,那就让他去做做简单的数学方面的题吧。给出一个计算式,求结果。ps:计算式只包含“ +”、“ - ”、“ *”、“/ ”其中一种运算输入格式输入一个计算式,格式为:a # b =。#为运算符。注意,运算符与数之间有空格!当#为/,即计算除法时,要判断除数是否为0,若除数为0,输出“ Error !”输出格式输出结果,保留4位小数。当#为/,即

10、计算除法时,要判断除数是否为0,若除数为0,输出“ Error !”(输出无引号)样例输入15 + 23 =样例输出38.0000解答#i ncludeint main()double a,b,s;char c;scan f(%lf %c %lf =,&a,&c,&b);if(c=+) s=a+b;prin tf(%.4fn,s);else if(c=-) s=a-b;prin tf(%.4fn,s);else if(c=*) s=a*b;prin tf(%.4fn,s);else if(c=/)s=a/b;if(b=0)prin tf(Error!n);else prin tf(%.4fn,

11、s);return 0;6.算日期问题描述自从收了小明这个徒弟之后,小强的生活就没平静过,小明发扬勤奋 好问的精神,总是缠着小强问这问那的。这天,小强在去食堂的路上不小心看 见小明迎面走来,正打算避开他的时候,不过小明也正好看见小强像他走去, 就喊着“师傅师傅”,小强这下没得躲了。小明问了小强非常意外的问题:师 傅,今天几号啊。小强随口答道:XX号。不过就在这时,小强却想到了一个可 以打发小明的方法,他对小明说:小明啊,你不是想让我给你出出题做嘛,我 正好想到一个,今天是 XXXX年 XX月 XX日,你给我算算今天是今年的第多少 天吧!小明还想问问怎么做来着,只见小强已经开溜了输入格式输入一个

12、日期,格式为 yyyy/mm/dd输出格式输出一个整数,表示该日期在当年中为第几天样例输入2000/03/01样例输出61解答#i ncludeint main()int a,b,c,t;sca nf(%d/%d/%d,&a,&b,&c); if(a%4|!(a%100)&a%400)if(b=1) t=c;else if(b=2) t=c+31;else if(b=3) t=c+59;else if(b=4) t=c+90;else if(b=5) t=c+120;else if(b=6) t=c+151;else if(b=7) t=c+181;else if(b=8) t=c+212;e

13、lse if(b=9) t=c+243;else if(b=10) t=c+273;else if(b=11) t=c+304;else if(b=12) t=c+334;prin tf(%dn,t);else if(!(a%4)&(a%100)|!(a%400)if(b=1) t=c;else if(b=2) t=c+31;else if(b=3) t=c+60;else if(b=4) t=c+91;else if(b=5) t=c+121;else if(b=6) t=c+152;else if(b=7) t=c+182;else if(b=8) t=c+213;else if(b=9)

14、 t=c+244;else if(b=10) t=c+274;else if(b=11) t=c+305;else if(b=12) t=c+335;prin tf(%dn,t);return 0;7.分数约简问题描述自从小明拜小强为师后,自知和师傅之间有着无法逾越的差距!不过他并不 气馁,他决定通过的努力一点一点缩短与师傅之间的距离!这不才刚学完循环结构,他就迫不及待的想练习了。于是他自己去找了一些题来练手!这第一个题很简单,就是给出一个分数,把它化为最简分式。输入格式第一行输入一个整数T,代表有T个测试数据。接下来的T行,每行输入两个非负整数 m n,m是分母,n是分子。输出格式输出最简分

15、式,格式a/b。若b=1,只输出a;若分子n=0,贝U输出“ Error ! (输出无引号)样例输入312 1615 320 0样例输出3/45Error!解答#i nclude #in clude int main()int T,m, n,c,t,d,a,b,f;sca nf(%d, &T);for(t=1;t=n)if(!(m% n)pri ntf(%d,m/n); else if(m% n)a=m;b=n;doc=(i nt)fmod(a,b); a=b;b=c;while(c!=0);d=m/a;f=n/a;prin tf(%d/%d,d,f);else if(m0输入格式第一行输入一

16、个n,代表有n个测试数据,接下来的n行,每行输入变 量x的值输出格式输入对应变量x的函数值f(x),每个结果一行样例输入2-1500500样例输出2500-7500解答#i ncludeint main()int n ,i,x,y;sca nf(%d,&n);for(i=1;i=n ;i+)scan f(%d, &x);while(x=l)” n + 1 n + 1n + 1求前n项和Sn样例输入5样例输出7.5000解答#i ncludeint main()double Sn,n ,i;Sn=0;i=1;sca nf(%lf,&n);while(i=n)Sn=Sn+i/2;i+;prin t

17、f(%.4fn,S n);return 0;10. 找闰年问题描述再来,小明回想到,自己不是曾经出了一题闰年的题来考自己的师傅 吗?那我何不就改改,然后自己做?他想:要不我就输出给定的任个时间 段之间的闰年吧!输入两个整数 m, n,代表两个年份。保证 mn 1000mv*3000输出格式输出m,n之间的所有闰年,每行5个样例输入1998 2015样例输出2000 2004 2008 2012解答#i ncludeint main()int m,n,t;t=0;scan f(%d%d,&m,&n);while(m v=n)if(!(m%4)&(m%100)|!(m%400)prin tf(%d

18、 ,m);t=t+1;if(t%5=0) pri ntf(n);m=m+1;prin tf(n);return 0;11. 小明的自娱自乐问题描述练习完前面四个题,小明有点累了,就上上网,找找c语言的资料。碰巧看到这样一道题:输入一个正整数,然后从个位开始一次输出每一位数字对应的英 文字母。例如:输入 1532,输出two three five one 。输入格式第一行输入一个T,代表有T组测试数据,T100对于每一组测试数据,输入一个整数 x( 0x100000000输出格式对于每一组测试数据,输出对应结果,每个结果占一行样例输入3241993562431样例输出four twothree

19、nine nine oneone three four two six five来源解答#i nclude int main()int T,a,b,t,c;sca nf(%d, &T); for(t=1;t=T;t+) scan f(%d,&a); while(a!=0)b=a/10;c=a-10*b;if(c=0) prin tf(zero ); else if(c=1) prin tf( one );else if(c=2) pri ntf(two ); else if(c=3) pri ntf(three );else if(c=4) pri ntf(four ); else if(c=

20、5) prin tf(five );else if(c=6) pri ntf(six ); else if(c=7) printf(seven );else if(c=8) pri ntf(eight ); else if(c=9) printf(nine ); a=b;prin tf(n); return 0;12. Simple a + b问题描述普通的a + b太没有意思了,小明决定玩点花样:如果加法没有进位,结果 会是怎样?输入格式输入两个正整数a和b(O=a, bvlOOOOOOOO)输出格式输出没有进位情况下加法的结果。PS:类似125 +932的情况,输出的数的首位不能为 0,即

21、125 + 932 =57 ; 类似5555 + 5555的情况输出只有一个 0.样例输入45 79样例输出14解答#i ncludeint main()int a,b,i,x1,x2,x,m=1,n=1,h=0;i=1;sca nf(%d%d,&a,&b);while(m!=0| n!=0)m=a/10;x仁 a-10*m;n=b/10;x2=b-10* n;x=x1+x2;if(x=10)h=h+(x-10)*i;else if(x10)h=h+x*i;i=i*10;a=m;b=n;prin tf(%dn,h);return 0;13. 几何级数的计算机验证法问题描述从前有棵树,叫高数,上

22、面挂了许多人!这个传说一直言传至今!不过在小明 看来,他肯定不会是那个会挂的人,他比其他提前预习了后面的章节,其中,他看了几何级数15,丄匸ji= 去Ji=o|x|1从理论上证明,他已经看懂了。但是,他想到,既然自己数学计算机的,何不借用计算机来进行验证?于是他 开始编程当等式左右两项之差的绝对值小于10A-6时,认定等式左右两项相等,请输出此时等式右边的项数 n是多少!输入格式第一行输入一个整数T,代表有T组测试数据对于每组测试数据,输入一个(-1,1)间的浮点数x输出格式输出每组测试数据的结果,各占一行样例输入0.40.5-0.6-0.7-0.8-0.9样例输出6811

23、1520263759125解答#i nclude#in cludeint main()int T,n ,i;double x,a,c,s=0,b=1;sea nf(%d, &T);for(i=1;i=0.000001|b=-0.000001; n+)c=pow(x ,n);s=s+c;b=a-s;b=1;s=0;prin tf(%d, n-1);prin tf(n);return 0;14.解铃还须系铃人1问题描述小明喜欢看谍战片,特别是喜欢看破译电报的桥段。现在他学了 C语言,他想借助电脑,将自己的一些文档进行加密。不过有一次在整理硬盘的时候,他不小心把源文档给删掉了。只留下了加密后的文档。

24、当然之间看加密的文档是看不出他 写的是什么,不过小明还记得自己是怎么加密的,规律如下:即第i个字母变成第(26-i+1 )个字母。简单归纳该方法为对称转换加密。 按照上述规律转换,非字母字符不变。例如“ Chin a! ”转换为“ Xsrmz!”A f Z, a f zB f Y, b f yCf X, c f xZ f A,z f a输入格式输入一行加密后的字符串输出格式输出破译的字符串,注意请不要遗漏任何字符和输出多余的字符样例输入R droo erhrg Xsrmz mvcg dvvp.样例输出I will visit China n ext week.来源解答#i ncludeint

25、main()char b,d,c,i,t;while(c=getchar()!=n)if(c=A&c=a&c= A) & (inp = a) & (inp = z) inp = (i np - a) + i) % 26 + a;i+i;prin tf(%c, i np);return 0;现在,小明需要通过这段源代码,写出对应的破译代码。ps : EOF是全文结束符,即End Of File 的缩写。输入格式输入一段加密后的文字。输出格式输出破译后的文字,注意请不要遗漏任何字符和输出多余的字符样例输入Fmghx ntn csxq rduj gio yjtr ob rktwai as n el.

26、 Wvj gs sgdpqe jn 4 Isphj Iciyb H gkuwy zif jah? Y kmcgh pdmfoeiw, drftpym, ff nca zdavvljzr Hqkysmvdk Utgkqp, 4 ahewy ipy, sfdc lay ilkd nu L xgd hyf faxbv, un vmt xgui chttsys cjj gy odb blbuvvtut jxo gigdvv sjqo gebf ffir, gtfu ixv liap qtn tgw lrve csuawcw gg tkrp rpub hnl mt, U ycun, C gkcv ujd

27、x O ejc myftquq xmqki oo bsz.样例输出Fleeting time does not blur my memory of you. Can it really be 4 years since I first saw you? I still remember, vividly, on the beautiful Zhangzhou Campus, 4 years ago, from the mome nt I saw you smile, as you were walk ing out of the classroom and tur ned your head

28、back, with the soft sun set glow shining on your rosy cheek, I kn ew, I knew that I was already drunk on you.解答#i ncludeint main()int i=0;char cn, c1,c2;while(sca nf(%c,&cn )!=EOF)if(cn=A)&(cn v=Z)c1=c n-65-i%26+65;if(c1=a)&(cn =z)c1=c n-97-i%26+97;if(c197)c2=c n-97+26+i/26*26-i+97;else c2=cn-97+i/2

29、6*26+97-i;prin tf(%c,c2);else c2=c n;prin tf(%c,c2);i+;return 0;16.谁是下一个十佳歌手问题描述一年一度的校园十佳歌手如期而至。和往届一样,每一位参与选手准备一首 参赛曲目,选手唱完之后,评委们会给出他们的分数。从这些分数中去掉一个最 高分和一个最低分,然后计算平均分所得结果即为该选手的最终得分。由于参赛选手众多,一个一个的手动计算太慢,于是主委会找到计算系求助,希望咱们系 能帮忙写一个计算得分的程序!输入格式第一行输入一个T,代表有T组测试数据,T=100对于每一组测试数据,输入有两行,第一行为一个正整数n,n=100,代表有n

30、个裁判。第二行输入n个正整数,代表n个裁判打的分数。分数=100.输出格式对于每组数据,输出结果,保留2位小数样例输入1588 94 87 83 90样例输出88.33解答#i ncludeint main() int T,n ,i,j;double s=O,b,x,c,a,d,m,l;sca nf(%d, &T); for(i=1;i2) m=0; l=100; for(j=1;jm)m=x; if(xl)l=x; s=s+x; d=(s-m-l)/( n-2); s=0;prin tf(%.2fn,d);return 0;17.九九乘法表问题描述大家都知道九九乘法表吧,小明因为前面的很多题

31、目都不会,实在无聊,就 手写了一个nn乘法表(如九九乘法表),但是没自信的他不知道写的对不对, 你能也写一个程序帮他检验一样吗。输入格式输入一个整数n( *=20)输出格式输出nn乘法表,第i行有i个表达式,第i行第j个表达式为j*i=k ,其中 k为i和j的乘积。样例输入3样例输出1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9解答#i nclude int main()in t i,j,n ,t=1,s; sca nf(%d,&n);for(i=1;i=n ;i+)for(j=1;j=i;j+,t+) ;s=i*j;prin tf(%d*%d=%d ,j,i,s);t=1;prin tf(n);return 0;18.奇偶求和计算问题描述给一个长度为n的整数数列,要求分别输出奇数项的和与偶数项的和 输入格式第一行一个整数n,表示数列有n个数。(N=1OO0第二行n个整数,表示每个数的数值。(0任意整数1000) 输出格式输出两行,第一行为奇数项的和,第二行为偶数项的和。样例输出115解答#i ncludeint main()int n, x,i,a=O,b=O;sca nf(%d,&n);for(i=1;i=n ;i+)scan f(%d, &x);if(i%2=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论