logo资料库

内蒙古大学研究生复试编程题.docx

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
第一题
第二题
第三题
第四题
第五题
第六题
一.设计一个银行账户类,其中包括以下内容,并用字符界面模拟存款和取款过程。 1、账户信息 账户、姓名、开户时间、身份证号码等 2、存款方法 3、取款方法 4、其他方法,如“查询余额”和“显示账号”等 二.怎样用递归算法写一个将二进制转换为十进制的程序? 三.迭代求方程组的解 四.编写函数,完成 n*n 矩阵的转置操作,矩阵各元素随机生成。 五:编写程序:计算π的近似值,π的计算公式为: π=2×(2×2/1×3)×(4×4/3×5)×(6×6/5×7)×……[2n×2n/(2n-1)×(2n+1)] 注:分别输出当 n 为 10、100、1000 时的计算结果,n 值由键盘输入。 内蒙古大学计算机学院 2013 年复试真题回忆版 一。简答题(6 选 4) 1.已知一个有向图如右下图所示,请分别写出从顶点 a 出发进行深度优先遍历(DFS)和广度 优先遍历(BFS)所得到的顶点序列及生成树(林)。(要求:有多个顶点可供选择时,序号小的 优先。) 2.一组数 《90,70,30,50,40,10,20》,将其由小到大排序,写出构造成的堆。 3.一组数 《90,70,30,50,40,10,20》,分别对应 A,B,C,D,E,F,G 的频度,请构造哈夫 曼编码,如果接受端要接受此编码,需要具备什么条件! 4.M 个数据,假设存储在数组中,要查找其前 K 个最大的数,k<
二。算法题 1.模拟操作系统的 LRU 算法,设计数据结构,并算法实现。 2.一棵树,要求你将所有的叶子结点练成一串,前一叶子结点的右链域指向下一叶子结点 的左链域,设根指针为 R,写出实现算法 3.图采用邻接矩阵表示时,其具体的深度优先遍历算法实现。 内蒙古大学计算机 2014 年复试回忆版真题 1、写出程序运行结果(三个还算简单函数)。 2、找出程序中五个语法或逻辑错误并改错(原程序的 bug 远超五个)。 3、(算法)填空题(五个空)大意是:给定一个秤砣质量的数组,能否使用这些 秤砣秤出某个质量的大小。 4、编程题:给定平面十个点的坐标,求相互距离中的最小值。 5、编程题:给定输入文件与输出文件,读取输入文件中每行的有限个整数,输 出该行最大最小值到输出文件。 内蒙古大学计算机 2015 年复试回忆版真题 1、谓词命题证明 研究生都是统考或是推免生,所有推免生本科课程一点学的好,并非所有研究生 本科课程都学得好,那么研究生中存在统考生。 2、是一个群,a,b 属于 G,a。b=a*x*b,x 属于 G;证明也是群; 3、简述面向对象的思想和方法,属性,类,事件,事件处理的概念; 4、用递归求 f(n)=f(n-1)+f(n-2) n>2;n=1 时 f(n)=1;n=2 时 f(n)=1; 5、键盘上输入若干个数字,按递减排序,并写入文件中,输入在屏幕上; 6、在 Windows 下实现多线程并互斥,主线程休眠 2 秒,次线程休眠 1 秒;
第一题是 斐波那契数列 第二题是字符串中统计数字个数并输出。 第三题:16 进制数转换成 8 进制 要求输入输出是字符串。 第四题:给定一组数 前后分成两半 各有序,要求排序输出。 第五题是 迷宫问题 找最短的路径。 1. 从键盘输入一组正整数,按-1 结束。判断是否有序,若有序输出 YES,否则 2. 判断回文。输入一个序列,是回文输出 YES,否则输出 NO。如:1,121,12121 3. 输入两个字符串 str1 和 str2,,将 str2 倒序,和 str1 连接后输出。 4. 输入 M,N(M 表示几进制数,N 表示将要转换的几进制数)。输入数 A,将 M 进制的 A 转化为 N 进制数后输出。若进制 M>10,可用 a,b,c,d…代替。 5. 输入正整数 N(N<1024),将 0 到 N 内所有和 7 有关的数统计出来。(和 7 有 关表示,这个数是 7 的倍数,或含数字 7),如输入 18,则和 7 有关的数为 7, 14,17。输出结果为 3 个。 6. 输出蛇形矩阵。输入 N(N<30) 输出 NO。 等都是回文。 如输入 abc 123 输出 abc321 若输入 10,输出 10 9 7 4 8 5 1 6 3 2 输入 9,输出 9 8 6 3 7 5 2 4 1 第一题 题目
输入一组由正整数组成的数字序列,序列大小不超过 500,遇到-1 结束输入, 判断这个数字序列是否是升序。如果是升序,输出“YES”,如果不是升序,输 出“NO”。 源码 #include using namespace std; int main() { int a[600] = {0}; int i; for(i=0;i<600;i++){ //输入数字序列 cin>>a[i]; if(a[i]==-1) break; } for(i=1;i<600;i++){ //判断是否升序 if(a[i]==-1) break; if(a[i]<=a[i-1]) break; }
if(a[i]==-1) //输出判断结果 cout<<"YES"<
个例子,如果输入的 n 是 20,那么 20 以内与 7 有关的数便是:7、14、17, 最终输出结果是 3。 源码 #include using namespace std; int getAnswer(int n) //计算与 7 有关的数字个数 { int i,cnt=0; for(i=1;i<=n;i++){ //循环 n 以内的所有数 if(i%7==0) //如果当前数是 7 的倍数,计数+1 cnt++; else{ int t = i; while(t){ if(t%10==7){ //如果当前数的某一位是 7,计数+1 cnt++; break; } t/=10; } }
} return cnt; } int main() { } int n; cin>>n; cout<
第三题 题目 输入一个正整数,判断这个数是否是“回文数”。所谓“回文数”,便是正着念 和反着念都一样的数。比如,1、11、121、1221、12321,都是回文数。如果 这个输入的数是回文数,那么输出“YES”,如果不是回文数,输出“NO”。 源码 #include #include using namespace std; int isHuiwen(char num[]) //判断是否是回文数 { int i,len = strlen(num); for(i=0;i
分享到:
收藏