C语言算法训练题_第1页
C语言算法训练题_第2页
C语言算法训练题_第3页
C语言算法训练题_第4页
C语言算法训练题_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

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

2、K个乘号和N-K-1 个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰 好每两个相邻数字之间都有一个符号。例如:N=5, K=2, 5 个数字分别为 1、2、3、4、5,可以加成: 1*2*(3+4+5) =241*(2+3)* (4+5)=45(1*2+3)*(4+5)=45?输入格式输入文件共有二行,第一行为两个有空格隔开的整数,表示N和K,其中(2<=N<=15, 0<=K<=N-l) o第二行为N个用空格隔开的数字(每个数字在0到9之间)。输出格式输出文件仅一行包含一个整数,表示要求的最大的结果样例输入5 2 1 2 3 4 5样

3、例输出120样例说明(1+2+3)*4*5=120题3:图形显示编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示 行数):* * * * *题4:排序编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。输入格式:输入只有一行,即三个整数,中间用空格隔开。输出格式:输出只有一行,即排序后的结果。输入输出样例样例输入9 2 30样例输出30 9 2题5: 2的次幕表示任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。将这种2进制表示写成2的次需的和的形式,令次幕高的排在前面,可得到如下表达 式:137=2 .7+2.3+2

4、-0现在约定累次用括号来表示,即Jb表示为a (b) 此时,137可表示为:2 (7) +2 (3) +2 (0)进一步:7=2,2+2+2,0 (2用 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 所以 1315 最后可表示为:2 (2 (2+2 (0) ) +2) +2 (2 (2+2 (0) ) ) +2 (2 (2) +2 (0) ) +2+2 (0)输入格式正整数(l=n=20000)输出格式符合约定的n的0, 2表示(在表示中不能有空格)样例输入

5、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:前缀表达式编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为: “运算符对象1对象2” ,其中,运算符为“ + ”(加法)、“一"(减法)、(乘 法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求: 对于加、减、乘、除这四种运算,分别设计相应的函数来实现。输入格式:输入只有一行,即一个前缀表

6、达式字符串。输出格式:输出相应的计算结果(如果是除法,直接采用c语言的“/”运算符,结 果为整数)。输入输出样例样例输入+ 52样例输出题 7: Anagrams 问题Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不 区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear"、“Rimon” 和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词 是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。输入格式:输入有两行,分别为两个单词。输出格式:输出只有一个字母Y或

7、N,分别表示Yes和No。 输入输出样例样例输入Unclear Nuclear样例输出Y题8:出现次数最多的整数编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数 N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最 多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只 打印比较小的那个值。输入格式:第一行是一个整数N, N? £? 20:接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。输出格式:输出只有一行,即出现次数最多的那个元素值。输入输出样例样例输入5 100 150 150 200

8、250样例输出150题9:字串统计给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最 多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第 一次出现最早的。输入格式第一行一个数字Lo第二行是字符串SoL大于0,且不超过S的长度。输出格式一行,题目要求的字符串。输入样例1:4bbaabbaaaaa输出样例1: bbaa输入样例2:2bbaabbaaaaa输出样例2: aa数据规模和约定n<=60S中所有字符都是小写英文字母。提示枚举所有可能的子串,统计出现次数,找出符合条件的那个题10:矩阵乘法输入两个矩阵,分别是m*s, s*n大小。输出两个矩阵相乘的结果。输入格式第一行,空格隔开的三个正整数m,s,n (均不超过200) . 接下来m行,每行s个 空格隔开的整数,表示矩阵A (i, j) ° 接下来s行,每行n个空格隔开的整数,表示 矩阵 B (i, j) o输出格式m行,每行n个空格隔开的整数,输出相乘彳及的矩阵C (i, j)的值。样例输入23210-111-3031231样例输出

温馨提示

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

评论

0/150

提交评论