logo资料库

华科上机题2000~2019整理版-Tutub整理.pdf

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
2000 1. 输入 n,求 y1=1!+3!+...m!(m 是小于等于 n 的最大奇数)、 y2=2!+4!+...p!(p 是小于等于 n 的最大偶数) 2。输入一个 5×5 的矩阵,判断是否对称 3。建立一个升序链表并遍历 2001 【保研】 1.统计一字符串字符重复的个数; 例如:输入 q3s4sa1aa 输出 s,3; s,5 a,6; a,8; a,9 2,输入一个 5 行 4 列的的矩阵,输出每列最大两个元素 3.建立一个链表,以输入 0 为结束,删除其中数值最大的元素,并输出后删除元素后的链 表(不能用数组) 2002 1、编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个 字符。(凡是以一个或多个空格隔开的部分就为一个单词) 2、守形数是这样一种整数,它的平方的低位部分等于它本身。比如 25 的平方是 625,低位部分是 25,因此 25 是 一个守形数。编一个程序,找出 2--100 之间所有的守形数。 3、编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。例如如 下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。 2005 第一题:对给定的一个字符串,找出有重复的字符,并给出其位置,如: 输入:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10 b,2;b,11 1,8;1,12 Tutub整理(CSDN nineqblot)
2,9;2,13 第二题:输入一个四行五列的矩阵,找出每列最大的两个数,如: 输入:1 2 3 4 9 -1 4 9 8 8 12 9 8 7 0 7 8 9 7 0 输出:12 9 9 8 9 7 8 9 7 8 第三题:输入一个字符串,建立一个二叉排序树,并中序遍历输出; 2006 1.输入一个数列以 0 位结束标志,建立链式线性表,查找其中最大的数并输出删除释放节点,然后对剩余的进行 排序,并输出释放节点 2.输入一个数列以 0 位结束标志,建立二叉遍历数,并对其进行逆中序遍历,释放空间 第一题是 对输入的 5 个数排序,输出的结果到文件里。 第二题是 用链表去对上面的 5 个数字排序。 第三题是 输入一个 ip 地址串,判断是否合法。 【外校保送】 (1)输入一个十进制数,将其先转化为八进制数,然后再输出 (2)用户输入一个文本名,编程实现输出文本中最长的一行和最短的一行。如果最长和最短的不止一行,请全部输出。 (3)输入学生信息:学号,三门课程的成绩,学号为 0 时结束,将其存储在链表 A 中,从中找出分数大于平均分的学 生,并将该学生信息按平均分降序排列存入到链表 B 中,最后输出链表 B。 【本校保送】 (1)采用命令行方式复制任意多个文件内容到一个文件中,如下所示: 命令行形式:mycopy 1.txt 2.txt 3.txt 4.txt ... 功能:复制 2.txt 3.txt 4.txt …的内容到 1.txt 中 (2)判定一个 C 语言变量的命名是否正确 (3)建立一种数据结构,可以存储任意个、任意长度的整数,利用这个数据结构,输入一串数,排序,求累加和 2008 一. 1、狼过河问题(运用到回溯) 2、统计文件中单词数目 3、N 阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(递归) 4、链表操作 二. 第一个是一个上楼梯的种数的统计,本来是一个用递归可以解决的问题,但是题目偏偏要求编写快速算法,言 下之意就是要求你把递归转化成非递归。 第二个题是链表的,要求依照给出的结构体依次实现输入链表,保存链表,删除链表,从磁盘读取链表,显示链 表这几个操作。做这个题,如果不记得保存文件的函数,很可能做不全或者做不出来。 第三个是要求根据 - | \ / 四个字符来实现题目所规定的一个长方体。并能使这个长方体适当的放大。这 个是一个递归问题,但是我想了半天也没有做出来。 Tutub整理(CSDN nineqblot)
【外校保研】 (1)输入一个十进制数,将其先转化为八进制数,然后再输出 (2)用户输入一个文本名,编程实现输出文本中最长的一行和最短的一行。如果最长和最短的不止一行,请全部输出。 (3)输入学生信息:学号,三门课程的成绩,学号为 0 时结束,将其存储在链表 A 中,从中找出分数大于平均分的学 生,并将该学生信息按平均分降序排列存入到链表 B 中,最后输出链表 B。 【本校保研】 (1)采用命令行方式复制任意多个文件内容到一个文件中,如下所示: 命令行形式:mycopy 1.txt 2.txt 3.txt 4.txt ... 功能:复制 2.txt 3.txt 4.txt …的内容到 1.txt 中 (2)判定一个 C 语言变量的命名是否正确 (3)建立一种数据结构,可以存储任意个、任意长度的整数,利用这个数据结构,输入一串数,排序,求累加和 2009 1.输入一串数,然后,建立链表,排序输出。 2.计算 26 个字母的输入次数,好像不区分大小写。 3.用一维数组存储学号和成绩,然后,按成绩排序输出。 【系统结构上机】 1.输入四个数,分别创建四个链表 A,B,C,D. 打印四个链表 2.A 按升序排列,D 按降序排列 3.把 B 中第一个数插入 A 中,保持 A 的升序排列,把 C 中第一个数插入 D 中,保持 D 的降序排列 4.把链表 A 中每个数的个位数打印出来 5.合并链表 A\D,保持升序排列。 2010 【保研】 1、不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。 这一题比较简单 2、输入一串数,要求建平衡二叉排序树,然后先序遍历。 3、有 4 个小问,是超长整数的存储、计算、输出。要把超长整数存在一个单向循环链表中,是每四位一个节点。 a、 输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数!(如‘3’,输出:10110011); b、 设计 8 个任务函数 task0()-task8()只输出一句话:如 task0()输出“task0 is called!”;设计一个调度函数 schedule()输入一个字符串如"012345"然后返回一个函数指针数组和字符串的长度作为执行函数 execute()的 参数进行调度任务函数。主函数只有调度函数。 c、 实现一个加法器,保证两个加数是任意长的整数。 参考答案:http://bbs.csdn.net/topics/340180351 2011 1. (1)从键盘输入一个文本(ASC2 码文件),并将该文本输出到 D 盘根目录下的 abc0.txt 文件中,再关闭该文件,以 Ctrl+Z(即 eof)结束。 (2)打开 D 盘根目录下的 abc0.txt 文件,将单词之间两个以上的空格都压缩为一个空格,输出处理后的文本,同 时将处理后的文本输出到 D 盘根目录下的 abc1.txt 文件中,并关闭该文件。 (3)打开 D 盘根目录下的 abc1.txt 文件,统计文件中字符的个数,单词的个数,以及句子的个数-,并输出统计结 Tutub整理(CSDN nineqblot)
果。 2. (1)输入任意 n 个整数,并将其无冗余的放入数组中(n 值不得事先确定,否则 0 分),然后输出这数组中的 n 个 数。 (2)对该数组中的 n 个数进行排序并输出结果。 3. (1)无冗余的接受键盘输入的 n 个字符串,并将其无冗余的放入对应的字符数组中,再按照每行一串的格式输出这 些字符串。 (2)以单个字符串为数据域,按字典顺序将 n 个字符串生成为一棵二叉搜索树,并且规定左子树(数据域)小于 右子树(数据域)。 (3)先序遍历该二叉树,并输出结果。 2012 1.(1)输入一个长整数,将最高字节与最低字节互换,然后再输出。 (2)将这个长整数中间两个字节循环左移 n 位(n 要输入),然后再输出。 (3)将长整数按照二进制输出,每 8 位输出一个空格 2.(1)输入 n 个字符串,字符串只能是纯字母或者纯数字,不能事先指定字符串个数,最后将输入字符串倒序输出 (2)将纯字母的字符串按照字典顺序排序,纯数字的字符串按照数值大小排序,最后在输出。 3. 一个有关城市间的公路建设,是一个带权值的无向图,不过其中的边和顶点都有编号。有两问,第一问是将所有 的边按权值排序输出,第二问是就是求最小生成树,求出具体路径,和最小代价。 2013 1. 孪生素数(30 分) 如果 n 和 n+2 都是素数,则称它们是孪生素数。输入 m(5
2014 1、(本题 30 分)编程找出所有的 4 位超级素数。每行输出 6 个数,两个数之间空格分隔。超级素数:一个 n 位超级 素数是指一个 n 位正整数,它的前 1 位,前 2 位,……,前 n 位均为素数,例如,2333 是个 4 位超级素数,因为 2, 23, 233, 2333 均为素数。 2、(本题 30 分)以二进制方式输入两个正整数(即 0 和 1 组成的字符串),然后输入一个 4 则运算符(+、-、*、/)按 short 型计算这两个数的运算结果,并将结果按二进制输出(高位 0 可不输出)。 例如,输入 101 100 输出 10100 (或 00000000000010100) 输入 101 100 输出 1001 3、(本题 40 分)编写一个程序,判断给定的字符串是否是法的 C 整型常量,是,输出 Yes;不是,输出 No。C 整型 常量的语法图如下图所示(图中 0 是数字零)。要求程序能循环接受用户的输入,每行输入 1 个字符串给出判定结果, 再输入 1 个字符串,给出判定结果,直至输入 CTRIL+Z 结束。例如: 123 yes 078 no 100h no ^Z 2015 2016 1. 七个评委给选手打分,去掉最高分和最低分,输出平均分,保留一位小数 2. 输入字符串,共三问,去除前面的空格,中间多个空格只保留一个空格,数字字母中间加上_ Tutub整理(CSDN nineqblot)
3. 检测输入的 IP 地址是否合法 2017 2018 1、(本题 40 分)从键盘输入一行英文句子,句子中只有英文单词和空格,每个单词之间由若干个空格隔开,英文单 词由大小写字母组成,编程完成下列任务: (1)统计并输出此句子中英文字母的个数(10 分) (2)统计并输出此句子中单词的个数:(10 分) (3)查找此句子中出现次数最多的字母(不区分大小写,大小写字母是相同的)和次数,当出现最多的字符不只一个时, 都能找到,并输出找到的所有字母及次数。(输出字母时大小写均可) (20 分) 例如,输入句子: This Is An Pencil Case 则输出为: 字母个数: 18 单词个数: 5 最多的字母: i, s 出现的次数: 3 2、(本题 30 分)十二进制是数学中一种以 12 为底数的记数系统,它由 0~9,a, b 组成。与十进制的对应关系是: 0~9 对应 0^9, a 对应 10, b 对应 11.例如,十二进制的 a2, 十进制是 122.输入一个仅含十二进制数字的字符串(字母 一律小写, 不超过 8 个字符),编程完成下列任务: (1)输出该十二进制数每一位对应的十进制数 (从高位到低位顺序输出,空格隔开) (10 分) (2)实现“十二进制”转“十进制”算法,输出该十二进制数对应的十进制数 (10 分) (3)输出转换后的十进制数在内存中的每个二进制位(共 4 字节,字节之间空格隔开)。(10 分) 例如,输入十二进制数: a2 则输出为: 10 2 122 00000000 0000000 0000000 01111010 3、(本题 30 分)编写程序,接受 3 个以 ND 形式输入的分数,其中 N (0<=N<=65535)为分子,D(0<=D<=655) 为分 母,输出它们的小数形式。如果小数形式存在循环节,如用括号括起来。如 1/3=.33333…/表示为 .(3)。 Tutub整理(CSDN nineqblot)
例如,输入: 8/5 1/3 11/13 则输出为: 8/5= 1.6 1/3= .(3) 11/13= .(846153) 2019 第一题(40 分) 输入一个长整型 数字 输出所有 小于等于这个数字的梅森素数 梅森数,是指形如 2p-1 的一类数,其中指数 p 是大于等于 2 的正整数,常记为 M(p) 。如果梅森数是素数,就称 为梅森素数。 例 输入 100 输出 M(2)=3 M(3)=7 还有一个记不清了 第二题(30 分) 打开第一题的代码源文件 .c/ .cpp 要求原文件里含//和/* xxxxx */ 输出该文件 共有三小问 1、给每行代码加上序号,表明这是第几行 2、对于// 字符 不予输出//及该行之后的文本 3、同上 要求不输出/* */ 及其之内的文本 第三题(30 分) 输入一个字符串 长度小于 80 要求 1、对于字符串加密输出 加密方法为 对于字母字符输出其 ASCII 码值右移 2(就是+2)后的字母,但是对于字母 y,z 加密后输出 a,b(加密后字母大小写不变) 2、奇偶校验 对于加密后的字符串 判断每个 ASCII 码值(2 进制)中 1 的个数 如果不是奇数个 1 那么最高位 取 1 3、输出第二问奇偶校验后的数值 十进制表示 举例 输入 aD 输出 cF c 11100011 227 F 01000110 70 不知名年份 (1)输入一个数列以 0 位结束标志,建立链式线性表,查找其中最大的数并输出删除释放节点,然后对剩余的进行排 序,并输出释放节点。 (2)输入一个数列以 0 位结束标志,建立二叉遍历数,并对其进行逆中序遍历,释放空间。 (3)给出年分 m 和一年中的第 n 天,算出第 n 天是几月几号(提示中给出了判断闰年的方法),按 yyyy-mm-dd 的 格式打印出来。(07 应用) Tutub整理(CSDN nineqblot)
2.约瑟夫环(07 应用) 3.关于链表(07 应用) 建立一个关于职工信息,如年龄,性别,要求输入至少 5 个职工信息,并输出其中年龄最大的三个职工信息 (4)职工有职工号,姓名,年龄.输入 n 个职工的信息,找出 3 个年龄最小的职工打印出来,n 可以取 6。 (5)n 个人排一圈 123 报数,报到 3 的人退到圈外,直到剩最后一个人为止。 (6)冒泡排序。(07 软件) (7)建立二叉树,并中序遍历。(07 软件) (8)生成一个长度为 21 的数组,依次存入 1 到 21;建立一个长度为 21 的单向链表,将上述数组中的数字依次存入 链表每个结点中;将上述链表变为单向封闭(循环)链表;从头结点开始数,将第 17 个结点删除,将它的下一个结点 作为新的头结点;重复上述过程,直到该链表中只剩一个结点,显示该结点中存入的数字。 第一题是对输入的 5 个数排序,输出的结果到文件里。 第二题是用链表去对上面的 5 个数字排序。 第三题是输入一个 ip 地址串,判断是否合法。 1.统计一字符串字符重复的个数; 例如:输入 q3s4sa1aa 输出 s,3; s,5 a,6; a,8; a,9 2,输入一个 5 行 4 列的的矩阵,输出每列最大两个元素 3.建立一个链表,以输入 0 为结束,删除其中数值最大的元素,并输出后删除元素后的链 表(不能用数组) 2000 年 1. 输入 n, 求 y1=1!+3!+...m!(m 是小于等于 n 的最大奇数) y2=2!+4!+...p!(p 是小于等于 n 的最大偶数) 2。输入一个 5×5 的矩阵,判断是否对称 3。建立一个升序链表并遍历 2002 年 1、编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个 字符。(凡是以一个或多个空格隔开的部分就为一个单词) 2、守形数是这样一种整数,它的平方的低位部分等于它本身。比如 25 的平方是 625,低位部分是 25,因此 25 是 一个守形数。编一个程序,找出 2--100 之间所有的守形数。 3、编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。例如如 下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。 屏幕的格式化输出:给出一幅图形,用程序实现。如下所示。 AA AA AB BA AB BA ABC CBA AA AB BA (输入字符 B) AA (输入字符 C) 指针构建链表结构:输入一组数据,构建一个升序链表,完成插入,删除,遍历功能。 例如,输入 1 8 5 4 3; 构建 head->1->3->4->5->8->NULL; 遍历 1 3 4 5 8; Tutub整理(CSDN nineqblot)
分享到:
收藏