全国青少年软件编程(C语言)等级考试真题 所有全国青少年软件编程(C语言)等级考试试卷打包版下载: 链接:https://sigusoft.com/s/1513Y0j5yjCceUF8yp6rNvQ 提取码:1234 一级:
二级:
替换单词 输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。 时间限制:1000 内存限制:65536 输入 输入包括3行, 第1行是包含多个单词的字符串 s; 第2行是待替换的单词a(长度 <= 100); 第3行是a将被替换的单词b(长度 <= 100). s, a, b 最前面和最后面都没有空格. 输出 输出只有 1 行,将s中所有单词a替换成b之后的字符串。 样例输入 You want someone to help you You I 样例输出 I want someone to help you 图像处理 给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1. 四周最外侧的像素点灰度值不变; 2. 中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。 时间限制:1000 内存限制:65536 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个素均在0~255之间。 输出 n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。 样例输入 4 5 100 0 100 0 50 50 100 200 0 0 50 50 100 100 200 100 100 50 50 100 样例输出 100 0 100 0 50 50 80 100 60 0 50 80 100 90 200 100 100 50 50 100 三级:
菲波那契数列 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对10000取模的结果是多少。 时间限制:1000 内存限制:65536 输入 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= )。 输出 n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对10000取模得到的结果。 样例输入 4 5 2 19 1 样例输出 5 1 4181 1 广义格雷码 在一组数的编码中,若任意两个相邻(首尾也视为相邻)的代码只有一位二进制数不同,则称这种编码为格雷码。如四位格雷码: 0000、0001、0011、0010、0110、0111、0101、0100、1100、1101、1111、1110、1010、1011、1001、1000 现在将格雷码扩展至其他进制,仍然是相邻两个数只能有一位不同。输入两个正整数n,m分别表示长度和进制,每行输出一个n位m进制数,输出任意一种编码即可。(提示:putchar输出效率更高) 时间限制:1000 内存限制:65536 输入 一行,两个整数n,m。其中 2 ≤ n ≤ 12 ,2 ≤ m ≤ 10 且mn ≤ 输出 任意一种编码方案,每个编码一行。相邻两个编码相差一位。第一个编码和最后一个编码算相邻 样例输入 2 3 样例输出 00 10 20 21 01 11 12 22 02 课程冲突 小 A 修了 n 门课程, 第 i 门课程是从第 ai 天一直上到第 bi 天。 定义两门课程的冲突程度为 : 有几天是这两门课程都要上的。 例如 a1=1,b1=3,a2=2,b2=4 时, 这两门课的冲突程度为 2。 现在你需要求的是这 n 门课中冲突程度最大的两门课的冲突程度。 时间限制:1000 内存限制:65536 输入 第一行一个正整数 n 表示课程数量。 接下来 n 行,每行两个正整数 ai,bi。 2 ≤ n≤ 1000, 1 ≤ ai ≤ bi ≤ 1000。 输出 输出一个整数表示最大的冲突程度 样例输入 3 1 3 2 4 5 5 样例输出 2 生成括号 Paul是一名数学专业的同学,在课余选修了C++编程课,现在他能够自己写程序判断判断一个给定的由'(‘和’)’组成的字符串是否是正确匹配的。可是他不满足于此,想反其道而行之,设计一个程序,能够生成所有合法的括号组合,请你帮助他解决这个问题。 时间限制:1000 内存限制:65536 输入 输入只有一行N,代表生成括号的对数(1 ≤ N ≤ 10)。 输出 输出所有可能的并且有效的括号组合,按照字典序进行排列,每个组合占一行。 样例输入 3 样例输出 ((())) (()()) (())() ()(()) ()()() 四级:
吃奶酪 Jerry准备偷吃Tom的奶酪。所有的奶酪排成了一条直线,每块奶酪都有不同的美味程度。然而,如果有相邻两块奶酪都被Jerry偷吃,Tom就会发现这一点并迅速抓住Jerry。Jerry当然希望在不被Tom发现的条件下吃到的奶酪美味度总和最大。当然,他也可以选择一块奶酪都不吃。请你帮助他规划一下偷吃的方案,告诉他最多能偷吃到多少的美味度吧。 时间限制:1000 内存限制:65536 输入 第一行一个整数T (T<=100),表示测试数据组数。 接下来,每组测试数据包含两行。其中,第一行一个整数n (1 <= n <= 100,000) ,表示奶酪的数量;第二行n个整数,表示这一排直线上奶酪的美味程度,请注意,美味度保证能够被int类型存储,且可能是负数。 输出 对于每组测试数据,输出一个整数,表示Jerry可以吃到的最大美味度总和。请注意,美味度总和可能超过int存储范围 样例输入 2 4 1 2 3 1 5 2 7 9 3 1 样例输出 4 12 数字构造 火山宝打算造一个 n 位的十进制数字出来。 对于 1 到 n 中的每一个 i,火山宝可以从 xi,1, …, xi,ki 这 ki 个 0-9 的数字中选择一个作为 ai。 在选择结束后,a1a2…an 形成了一个 n 位的十进制数——这就是火山宝造出来的数。 你需要帮火山宝计算他能造出的数中,有多少个是 3 的倍数。 时间限制:1000 内存限制:65536 输入 第一行输入一个整数 n(1 ≤ n ≤ 18),表示数字的位数。 接下来 n 行,每行第一个整数 ki (1 ≤ ki ≤ 10),表示第 i 中候选的数字数量。接着是 ki 个两两不同的 0-9 范围内的数字 xi,1, …, xi,ki。 输入保证 0 不是第一位的可选项。 输出 你需要输出一行一个整数,表示火山宝能造出的数字中,3 的倍数的数量。 样例输入 样例输入1: 2 5 5 6 7 8 9 5 0 1 2 3 4 样例输入2: 5 9 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 样例输出 样例输出1: 9 样例输出2: 30000 提示 样例1能造出来的 3 的倍数有 51, 54,60,63,72,81,84,90, 93。 最佳路径 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。 时间限制:1000 内存限制:65536 输入 第一行为三角形高度100>=h>=1,同时也是最底层边的数字的数目。 从第二行开始,每行为三角形相应行的数字,中间用空格分隔。 输出 最佳路径的长度数值。 样例输入 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 五级: 交易市场 市场里面一共有n种物品,有m种交易途径,每个交易途径可以由(x,y,z)表示,意思是可以用第x种物品换成第y种物品,并且得到z的收益(z均大于0)。最开始你只有第一种物品,请问最多可以赚取多少收益。 时间限制:1000 内存限制:65536 输入 第一行两个正整数n和m(n ≤ 1000,m ≤ 4000) 接下来m行,每行三个正整数x, y, z,意思是可以用第x种物品换成第y种物品,并且得到z的收益。(1 ≤ x,y ≤ n, 1 ≤ z ≤ 100) 输出 一个整数表示最大收益,如果可以赚取无穷多的收益则输出 样例输入 3 3 1 2 2 2 3 3 1 3 4 样例输出 5 问题求解 给定一个正整数N,求最小的M满足比N大且M与N的二进制表示中有相同数目的1。 举个例子,假如给定N为78,二进制表示为,包含4个1,那么最小的比N大的并且二进制表示中只包含4个1的数是83,其二进制是,因此83就是答案。 时间限制:1000 内存限制:65536 输入 输入若干行,每行一个数N(1 ≤ N ≤ ),如果这行为0表示输入结束。 输出 对于每个N,输出对应的M。 样例输入 1 2 3 4 78 0 样例输出 2 4 5 8 83 泳池 小C在一个排水系统不太好的学校上学。又是一个下雨天,学校里高低不平积了很多水。小C突发奇想:如果大雨一直下,多久以后我可以在学校里游泳呢? 学校是 N x N 的坐标方格 grid 中,每一个方格的值 grid(i,j)表示在位置 (i,j) 的高度。现在开始下雨了。当时间为 t 时,此时雨水导致方格中任意位置的水位为 t 。你可以从一个方格游向四周相邻的任意一个方格,但是前提是此时水位必须同时淹没这两个方格。假定小C的游动是不耗时的。 现在小C从坐标方格的左上(0,0)出发。最少耗时多久他才能到达坐标方格的右下平台 (N-1, N-1)? 时间限制:1000 内存限制:65536 输入 第一行有一个整数N,以下是一个N*N的方阵,代表各处的高度。 输入范围: 2 ≤ N ≤ 300 0 ≤ Height ≤ 输出 输出一个整数,代表最少等待时间T 样例输入 样例输入1: 2 0 2 1 3 样例输入2: 5 0 1 2 3 4 24 23 22 21 5 12 13 14 15 16 11 17 18 19 20 10 9 8 7 6 样例输出 样例输出1: 3 样例输出2: 16 提示 样例1:时间为3时,才可以游向平台(1,1),此时水位为3。 样例2:时间为16时,水位为16,此时才能保证(0,0)和(4,4)是联通的(请自行找出一条通路)。 抓牛 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=),牛位于点K(0<=K<=)。农夫有两种移动方式: 1、从X移动到X-1或X+1,每次移动花费一分钟 2、从X移动到2*X,每次移动花费一分钟 假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛? 时间限制:2000 内存限制:65536 输入 两个整数,N和K 输出 一个整数,农夫抓到牛所要花费的最小分钟数 样例输入 5 17 样例输出 4 六级: 合法出栈序列 给定一个由不同小写字母构成的长度不超过8的字符串x,现在要将该字符串的字符依次压入栈中,然后再全部弹出。 要求左边的字符一定比右边的字符先入栈,出栈顺序无要求。 再给定若干字符串,对每个字符串,判断其是否是可能的x中的字符的出栈序列。 时间限制:1000 内存限制:65536 输入 第一行是原始字符串x 后面有若干行,每行一个字符串 输出 对除第一行以外的每个字符串,判断其是否是可能的出栈序列。如果是,输出”YES”,否则,输出”NO” 样例输入 abc abc bca cab 样例输出 YES YES NO 奇怪的括号 某天小A和同学在课堂上讨论到:“栈这种数据结构真是太优美了,既简单用途又广泛。”小B仰慕 小A许久,于是他拿出了自己在网上抄写的一道题问小A,如何判断括号是否匹配呢 时间限制:1000 内存限制:65536 输入 多组数据,每组数据占一行,且都是由(、)、[、]、*、/这六种字符组成。 输出 每组数据输出一行,如果括号能匹配成功,输出True,否则输出False。括号匹配规则是: ( 和 ) 匹配 [ 和 ] 匹配 /* 和 */ 匹配 如果含有冗余字符也算匹配失败,例如 /*/ 是匹配失败的因为中间多了一个*。 样例输入 ()/*[()]*/ *// 样例输出 True False 区间合并 给定 n 个闭区间 [ai; bi],其中i=1,2,…,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;2] 和 [2;3] 可以合并为 [1;3],[1;3] 和 [2;4] 可以合并为 [1;4],但是[1;2] 和 [3;4] 不可以合并。 我们的任务是判断这些区间是否可以最终合并为一个闭区间,如果可以,将这个闭区间输出,否则输出no。 时间限制:1000 内存限制:65536 输入 第一行为一个整数n,3 ≤ n ≤ 50000。表示输入区间的数量。 之后n行,在第i行上(1 ≤ i ≤ n),为两个整数 ai 和 bi ,整数之间用一个空格分隔,表示区间 [ai; bi](其中 1 ≤ ai ≤ bi ≤ 10000)。 输出 输出一行,如果这些区间最终可以合并为一个闭区间,输出这个闭区间的左右边界,用单个空格隔开;否则输出 no。 样例输入 5 5 6 1 5 10 10 6 9 8 10 样例输出 1 10 双端队列 定义一个双端队列,进队操作与普通队列一样,从队尾进入。出队操作既可以从队头,也可以从队尾。编程实现这个数据结构。 时间限制:1000 内存限制:65535 输入 第一行输入一个整数t,代表测试数据的组数。 每组数据的第一行输入一个整数n,表示操作的次数。 接着输入n行,每行对应一个操作,首先输入一个整数type。 当type=1,进队操作,接着输入一个整数x,表示进入队列的素。 当type=2,出队操作,接着输入一个整数c,c=0代表从队头出队,c=1代表从队尾出队。 n <= 1000 输出 对于每组测试数据,输出执行完所有的操作后队列中剩余的素,素之间用空格隔开,按队头到队尾的顺序输出,占一行。如果队列中已经没有任何的素,输出NULL。 样例输入 2 5 1 2 1 3 1 4 2 0 2 1 6 1 1 1 2 1 3 2 0 2 1 2 0 样例输出 3 NULL
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/42862.html