c语言算法训练题

c语言算法训练题

ID:8388600

大小:56.28 KB

页数:30页

时间:2018-03-24

c语言算法训练题_第1页
c语言算法训练题_第2页
c语言算法训练题_第3页
c语言算法训练题_第4页
c语言算法训练题_第5页
资源描述:

《c语言算法训练题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C训练题一题1:未名湖边的烦恼每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。  每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式  两个整数,表示m和n输出格式  一个整数,表示队伍的排法的方案数。样例输入32样例输出5数据规模和约定m,n∈[0,18]  问题分析题2:最大的算式题目

2、很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如:  N=5,K=2,5个数字分别为1、2、3、4、5,可以加成:  1*2*(3+4+5)=24  1*(2+3)*(4+5)=45  (1*2+3)*(4+5)=45  ……输入格式  输入文件共有二行,第一行为两个有空格隔开的整数,表示N和K,其中(2<=N<=15,0<=K<=N-1)。第二行为N个用空格隔开的数字(每个数字

3、在0到9之间)。输出格式  输出文件仅一行包含一个整数,表示要求的最大的结果样例输入5212345样例输出120样例说明(1+2+3)*4*5=120题3:图形显示编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数):  *****  ****  ***  **  *题4:排序编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。  输入格式:输入只有一行,即三个整数,中间用空格隔开。  输出格式:输出只有一行,即排序后的结果。  输入输出样例样例输入9230样例输出3092

4、题5:2的次幂表示任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。  将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0  现在约定幂次用括号来表示,即a^b表示为a(b)  此时,137可表示为:2(7)+2(3)+2(0)  进一步:7=2^2+2+2^0(2^1用2表示)  3=2+2^0   所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)  又如:1315=2^10+2^8+2^5+2+1 

5、 所以1315最后可表示为:  2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)输入格式  正整数(1<=n<=20000)输出格式  符合约定的n的0,2表示(在表示中不能有空格)样例输入137样例输出2(2(2)+2+2(0))+2(2+2(0))+2(0)样例输入1315样例输出2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)提示  用递归实现会比较简单,可以一边递归一边输出题6:前缀表达式编写一个程序,以字符串方式输入一个

6、前缀表达式,然后计算它的值。输入格式为:“运算符对象1对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。  输入格式:输入只有一行,即一个前缀表达式字符串。  输出格式:输出相应的计算结果(如果是除法,直接采用c语言的“/”运算符,结果为整数)。  输入输出样例样例输入+52样例输出7题7:Anagrams问题Anagrams指的是具有如下特性的两个单词:在这两个单词当中

7、,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。  输入格式:输入有两行,分别为两个单词。  输出格式:输出只有一个字母Y或N,分别表示Yes和No。  输入输出样例样例输入UnclearNuclear样例输出Y题8:出现次数最多的整数编写一个程序,读入一组整数,这组整数是按照从小到大的

8、顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。  输入格式:第一行是一个整数N,N£20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。  输出格式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。