## 数组 ### 1 数组的批量增 题目:设计程序,实现把一个数组的所有元素插入到另一个数组的指定索引位置 输入:第一行是第一个数组的元素个数len1,第二行是空格分开的len1 个元素,第三行是第二个 数组的元素个数len2,第四行是空格分开的len2 个元素,第五行是插入索引位置 输出:输出第二个数组插入到第一个数组后,第一个数组的所有元素 ```ini 输入样例: 3 1 2 3 2 4 5 0 输出样例:4 5 1 2 3 ``` ### 2 数组的批量删 题目:设计程序,删除数组中所有值为x 的元素 输入:第一行是元素个数n,第二行是空格分开的n 个元素,第三行是需要删掉的标记值x 输出:删除后的数组 ```ini 输入样例: 6 2 1 2 3 2 2 2 输出样例:1 3 ``` ### 3 左小右大 题目:输入一串整型正整数,设计程序,以第一个元素为基准,把比第一个元素小的都放在其左边, 比第一个元素大的放其右边,也就是“左小右大”的情况,且在此划分的前提下,要求左右两边的元 素位置相对次序依旧保持不变,也就是具有稳定性,且不开辟额外的数组空间 输入:第一行是元素个数n,第二行是空格分开的n 个元素,总长度不超过100 输出:按照规则“左小右大”划分后且相对次序保持不变后的数组 ```ini 输入样例: 8 3 1 0 5 6 2 8 0 输出样例:1 0 2 0 3 5 6 8 ``` ### 4 数组逆序 题目:编写程序,将给定的几个整数存入数组中,将数组中的这几个数逆序存放,再按顺序输出数 组中的元素 输入:输入在第一行中给出一个正整数n(1 ≤n≤ 10)。第二行输入几个整数,用空格分开 输出:在一行中输出这几个整数的处理结果,相邻数字中间用个空格分开 ```ini 输入样例 4 10 8 1 2 输出样例:2 1 8 10 ``` ### 5 数组循环右移 题目:设计程序,实现数组元素的整体循环右移 输入:第一行是元素个数n,第二行是空格分开的n 个元素,第三行是数组整体右移的步数step 输出:整体右移后的数组 ```ini 输入样例: 4 1 2 3 4 2 输出样例: 3 4 1 2 ``` ### 6 最值交换 题目:编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数 交换,最后输出交换后的序列。题目保证最大和最小值都是唯一的 输入:输入在第一行中给出一个正整数N,第二行给出N 个整数,数字间以空格分隔 输出:在一行中顺序输出交换后的序列 ```ini 输入样例: 5 8 2 5 1 4 输出样例: 1 2 5 4 8 ``` ### 7 数组排序 题目:输入一串整型正整数,设计程序,给输入的数组排序 输入:输入在第一行中给出一个正整数N(<10),第二行给出N 个整数,数字间以空格分隔 输出:递增排序后的数据 ```ini 输入样例: 4 3 2 10 5 输出样例:2 3 5 10 ``` ### 8 谁频次最高 题目:统计一个整型序列中出现次数最多的整数及其出现次数 输入:输入在一行中给出序列中整数个数N(0 ### 11 找字符索引 题目:编写程序,从给定字符串中查找某指定的字符所在的索引位置 输入:输入的第一行是单个待查找的字符。第二行是以回车结束的非空字符串(不超过80 个字符) 输出:如果找到,在一行内按照格式“index=下标”,输出该字符在字符串中所对应的下标(下标从0 开始),如果该字符出现多次,则返回最后一次出现的索引位置,否则输出"Not Found" ```ini 输入样例: m programming 输出样例:index=7 ``` ### 12 大小写转换 题目:编写程序,对一个以“#”结束的字符串,把小写字母全部转换成大写字母,把大写字母全部 转换成小写字母,并逆序输出结果 输入:一个以“#”结束的字符串,不超过100 个字符 输出:在一行中输出大小写转换后的结果字符串 ```ini 输入样例: Ab!23 cD &*%$ .,# 输出样例: ,. $%*& dC 32!Ba ``` ### 13 字符串比较 题目:编写程序,将两个不包含换行符的字符串s1 和s2 比较,若s1>s2,输出1;若s1=s2,输出 0,否则输出-1,要求不要用strcmp 函数 输入:输入总共两行,第一行是第一个字符串,第二行是第二个字符串,字符串的长度均小于100 输出:第一个字符串和第二个字符串比较后的结果 ```ini 输入样例: love love 输出样例:0 ``` ### 14 字符串排序 题目:编写程序,实现字符串之间的升序排序并输出结果 输入:第一行是一个整数n 代表n 个字符串(n<10 且每个字符串长度都小于80),接下来n 行都 是字符串 输出:递增排序后的结果 ```ini 输入样例: 3 abc b aaaaa 输出样例: aaaaa abc b ``` ### 15 字符串插入 题目:编写程序,实现字符串的插入 输入:输入总共三行,第一行是第一个字符串,第二行是第二个字符串,字符串的长度均小于100 且不包含换行符,第三行是代表第二个字符串插入至第一个字符串的位置 输出:把第二个字符串插入到第一个字符串的指定位置后面的结果 ```ini 输入样例: abc ee 2 输出样例:aeebc ``` ### 16 字符串删除 题目:编写程序,删除字符串中指定的子字符串 输入:输入总共两行,第一行是原字符串,第二行是需要删除的字符串,字符串的长度均小于100 且不包含换行符 输出:删除指定字符串后的新的字符串结果 ```ini 输入样例: abcddeef dee 输出样例:abcdf ``` --- ## 文件 ### 1.文件字符统计 **题目:**给定一个文件“test1.txt“,请统计文件中的英文字母字符和数字字符的个数 **输入:**给定的一个文件“test1.txt“ **输出:**英文字母和数字的个数,用空格隔开 ```ini 输入样例:一个文件,假设内容为:ab\n123\n***\n 输出样例:2 3 ``` ### 2.文件合并 **题目:**给定两个文件“test1.txt“和”test2.txt“,请把两个文件中的内容合并到一起并写入到新的文 件”test3.txt”之中 **输入:**两个文件“test1.txt“和”test2.txt“ **输出:**合并后的文件“test3.txt“ ```ini 输入样例: 假设 test1.txt 的内容为:ab\ncd 假设 test2.txt 的内容为:efg\nhi 输出样例:test3.txt 的内容:ab\ncdefg\nhi ``` ### 3.写入数据到文件 **题目:**编写程序,实现把从键盘敲入的字符数据都追加存入文件“test.txt”中,直到敲入 ctrl+z 结束, 注意是追加写入,也就是说文件中原本的内容依旧保留 **输入:**从键盘敲入字符,假设敲入了“abc\ndef”,原本的“test.txt“文件中的内容为“我爱中国” **输出:**写入后的文件,按照输入的方式写入后,结果应该为:“我爱中国 abc\ndef“