2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 青少年软件编程C++二级题库(51-60)

青少年软件编程C++二级题库(51-60)

时间:2023-02-06 07:04:50

相关推荐

青少年软件编程C++二级题库(51-60)

51、啤酒厂选址(真题)海上有一个岛,在环海边上建有一条环岛高速公路,沿着公路有 n( 5 < n < 10000) 个居民点,假设每个居民点有一个编号,从 0 开始,按顺时针依次从小到大(即,0,1,…, n-1)编号。在岛上啤酒很受青睐。某啤酒企业计划在岛上投资建一个啤酒厂,并根据 啤酒需求每天向居住点送啤酒。已知两个相邻的居民点的距离以及每个居住点每天的啤 酒需求量(假设每个居住点每天不超过 2000 桶)。假定每单位长度的路程送一桶啤酒 需要的费用恒定(为单位费用)。请问,选择哪一个居民点建啤酒厂,才能使每天送啤 酒的费用最小(空车不计费用)。 输入 第一行:为居民点数目 n 后面为 n 行,每行为一个居民点的啤酒需求量以及按顺时 针离下一个居民点的距离(均为整数,空格间隔),从编号为 0 的开始,按单增顺次给 出。 注意:后面第 n 行对应于居民点( n-1)的啤酒需求量以及到编号为 0 的居民点距 离。 输出 啤酒厂所在的居民点编号以及每天的运输费用,其间以逗号间隔 样例输入 6 500 10 300 30 350 25 400 60 700 28 200 35 样例输出 0,9410052、统计误差范围内的数(真题)统计一个整数序列中与指定数字 m 误差范围小于等于 X 的数的个数。 输入 输入包含三行: 第一行为 N,表示整数序列的长度(N <= 100); 第二行为 N 个整 数,整数之间以一个空格分开; 第三行包含 2 个整数,为指定的整数 m,误差范围 X。 输出 输出为 N 个数中与指定数字 m 误差范围小于等于 X 的数的个数。 样例输入 5 1 2 3 4 5 3 1 样例输出 3 提示:样例中 2,3,4 都满足条件,故答案为 353、单词倒排(真题)编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单 词的顺序倒排并输出,依然以单个空格分隔。 输入 输入为一个字符串(字符串长度至多为 100)。 输出 输出为按要求排序后的字符串。 样例输入 I am a student 样例输出 student a am I。 解题思路:把所有单词一个一个都存到 string 数组里面 //把所有单词一个一个都存到 string 数组里面 内部资料 请勿外传 翻印必究54、细菌的繁殖与扩散(真题)在边长为 9 的正方形培养皿中,正中心位置有 m 个细菌。假设细菌的寿命仅一天, 但每天可繁殖 10 个后代,而且这 10 个后代,有两个分布在原来的单元格中,其余的均 匀分布在其四周相邻的八个单元格中。求经过 n(1≤n≤4)天后,细菌在培养皿中的分布 情况。 输入 输入为两个整数,第一个整数 m 表示中心位置细菌的个数( 2 ≤ m ≤ 30),第二 个整数 n 表示经过的天数( 1 ≤ n ≤ 4)。 输出 输出九行九列整数矩阵,每行的整数之间用空格分隔。整个矩阵代表 n 天后细菌在 培养皿上的分布情况。 样例输入 2 1 样例输出 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 2 4 2 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 来源:北大医学部 07 计算概论模拟考试55、大整数加法(真题)求两个不超过 200 位的非负整数的和。 输入 有两行,每行是一个不超过 200 位的非负整数,可能有多余的前导 0。 输出 一行,即相加后的结果。结果里不能有多余的前导 0,即如果结果是 342,那么就不 能输出为 0342。 样例输入 22222222222222222222 33333333333333333333 样例输出 55555555555555555555 解题思路:位数很多,int、long long 都没法正常完成加减乘除操作,这里采用数 组的存储方式。 内部资料 请勿外传 翻印必究56、循环数(真题)若一个 n 位的数字串满足下述条件,则称其是循环数( cyclic):将这个数字串视 为整数(可能带有前导 0),并用任意一个 1 到 n 之间(包含 1 和 n)的整数去乘它 时, 会得到一个将原数字串首尾相接后,再在某处断开而得到的新数字串所对应的整 数。例如,数字 142857 是循环数,因为: 142857 *1 = 142857 142857 *2 = 285714 142857 *3 = 428571 142857 *4 = 571428 142857 *5 = 714285 142857 *6 = 857142。 请写一个程序判断给定的数是否是循环数。 注意:在此题中,输入数字串允许带前导 0,且前导 0 不能被忽略,例如“01”是 两位数字串,而“1”是一位数字串。但将数字串转化为整数做乘法运算或比较运算时, 可以忽略前导 0。 输入 一行,一个长度在 2 到 60 位之间的数字串。 输出 一个整数,若输入的数字串是循环数,输出 1,否则输出 0。 样例输入:142857 样例输出:157、数字放大 高精度乘法(6月真题)给定一个整数序列以及放大倍数 x,将序列中每个整数放大 x 倍后输出。 输入 包含三行: 第一行为 N,表示整数序列的长度(N ≤ 100); 第二行为 N 个整数(不超 过整型范围),整数之间以一个空格分开; 第三行包含一个整数(不超过整型范围), 为指定的整数 x。 输出 N 个整数,为原序列放大之后的序列,整数之间以一个空格分开。 样例输入 3 1 5 7 2 样例输出 2 10 14 提示 注意答案的数据范围解析:C++不支持大数运算,故而引入高精度算法。 2.高精度乘法将大数以字符串形式 输入,然后拆分转换为一位一位的整数,之后按照小学的竖式运算方法完成编码。58、统一文件名(6月真题) 小 A 在命名文件的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将 目录下的文件统一规范的格式,即文件名的第一个字符如果是字母要大写,其他字母小 写。如将 Test、test 整理成 Test。 输入:第一行一个数字 n,表示有 n 个文件名要统一,n 不超过 100。 接下来 n 行,每 行一个单词,长度不超过 20,表示文件的名字。文件名由字母、数字和-组成。 输出:n 行,每行一个单词,对应统一后的文件名。 样例输入 4 Test data 2-TEST problem-6 样例输出 Test Data 2-test Problem-659、求矩阵内部元素之和(6月真题)输入一个整数矩阵,计算位于矩阵内部的元素之和。所谓矩阵内部的元素,不在第 一行和最后一行的元素以及第一列和最后一列的元素。 输入 第一行分别为矩阵的行数 m 和列数 n( m < 100,n < 100),两者之间以一个空格分开。 接下来输入的 m 行数据中,每行包含 n 个整数(每个数大于等于 0,小于 1000),整数之 间以一个空格分开。 输出 输出对应矩阵的内部元素和 样例输入 3 3 3 4 1 3 7 1 2 0 1 样例输出 760、整数奇偶排序(6月真题)给定 10 个整数的序列,要求对其重新排序。排序要求: 1.奇数在前,偶数在后; 2.奇数按从大到小排序; 3.偶数按输入顺序逆序排序。 输入:输入一行,包含 10 个整数,彼此以一个空格分开,每个整数的范围是大于等于 0, 小于等于 100。 输出:按照要求排序后输出一行包含排序后的 10 个整数,数与数之间以一个空格分开。 样例输入 4 7 3 13 11 12 0 47 34 98 样例输出 47 13 11 7 3 98 34 0 12 4

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。