2022年华中科技大学计算机考研复试机试题.pdf

上传人:Che****ry 文档编号:14508109 上传时间:2022-05-04 格式:PDF 页数:12 大小:78.04KB
返回 下载 相关 举报
2022年华中科技大学计算机考研复试机试题.pdf_第1页
第1页 / 共12页
2022年华中科技大学计算机考研复试机试题.pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《2022年华中科技大学计算机考研复试机试题.pdf》由会员分享,可在线阅读,更多相关《2022年华中科技大学计算机考研复试机试题.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、上机考试。一般网站上公布上机环境要求是,但实际上是可以使用VC的。这里有一点特别要大家注意:只支持纯C代码,不支持 C+ 风格代码。华科的计算机学生称,不管你是用VC还是 TC ,老师都要在上进行验收程序,以确认你的代码是纯 C。比如: p = new Node ; 的代码写法在下是通不过的,只能写p = (Node *)malloc (sizeof (Node) ; 。另外不支持引用,如:Pop (Stack &s , ElemType &e)中含有“ &”的引用,在下无法通过。华科的上机题目每年都差不多,经常考的就是排序、链表和树的操作等。建议在去复试前一定要进行专门练习上机。Note:上

2、机时间为1 个半小时 ,题目一般为三道题,前两道一般代码不会超过70 行,最后一道会达到150200 行。上机时做题速度一定要快,不要总抓着一个不放,时间在不知不觉中过的是很快的。2010 年的机试题:a、输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数!( 如 3,输出: ) ;#include #include #define max 1000int pd(char c)int i=0;int num=0;for(i=0;i7;i+)if(c&(1i)num+;if(num%2=0)return 1;elsereturn 0;void main()精品资料 - - - 欢

3、迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 12 页 - - - - - - - - - - char amax;scanf(%s,a);int i,j;int len=strlen(a);for(i=0;ilen;i+)if (pd(ai)ai=ai|(1=0;j-)if(ai&(1j)printf(1);elseprintf(0);printf(n);b、设计 8 个任务函数task0()-task7 ()只输出一句话: 如 task0 ()输出“task0 is called !”;设计一个调度函数sche

4、dule()输入一个字符串如012345 然后返回一个函数指针数组和字符串的长度作为执行函数execute ()的参数进行调度任务函数。主函数只有调度函数。(这个题难道很多同学因为很多同学不知道函数指针数组怎么用啊!)#include#include#include typedef void (*ptask)();2011/03/18 v=tempB-av; sk.chengji0=tempB-chengji0; sk.chengji1=tempB-chengji1; sk.chengji2=tempB-chengji2;精品资料 - - - 欢迎下载 - - - - - - - - - -

5、- 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 12 页 - - - - - - - - - - strcpy(sk.xuehao,tempB-xuehao); tempB=tempB-next; k+; int l,m; stud temps; for (l=0;lcnt-1;l+) for (m=l+1;mcnt;m+) if(sl.avsm.av) 0=sl.chengji0;1=sl.chengji1;2=sl.chengji2;strcpy,sl.xuehao);sl.chengji0=sm.chengji0; sl.chengji1=sm.chengj

6、i1;sl.chengji2=sm.chengji2;strcpy(sl.xuehao,sm.xuehao);sm.chengji0=0;sm.chengji1=1;sm.chengji2=2;strcpy(sm.xuehao,; for (int i=0;icnt;i+) printf(学号: %sn,si.xuehao); printf(成绩: %fn,si.chengji0); printf(成绩: %fn,si.chengji1); printf(成绩: %fn,si.chengji2); return 0; 07年的华科招收研究生上机试题一、 编写一个程序输入一个5X6的矩阵存储并输

7、出,并且求出每行的最大值和每行的总和要求把每行总和放入每行最大值的位置,精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 12 页 - - - - - - - - - - 最后把结果矩阵,每行最大值及其原下标及其总和输出。我的代码:#include#includeint getMat(int a56,int n,int m) int i,j; for(i=0;in;i+) for(j=0;jm;j+) scanf(%d,&aij); int getMax(int a56,int n,int m,

8、int b5,int c5,int d5,int sum5) int i,j; for(i=0;in;i+) bi=0; ci=0; d0=0; sumi=0; for(i=0;in;i+) int r,col; int max=ai0; sumi=ai0; for(j=1;jm;j+) if(maxaij)max=aij; r=i; col=j; sumi+=aij; bi=max; ci=r; di=col; for(i=0;in;i+) acidi=sumi; void display(int a56)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载

9、名师归纳 - - - - - - - - - -第 4 页,共 12 页 - - - - - - - - - - int i,j; for(i=0;i5;i+) printf(n); for(j=0;j6;j+) printf(%d ,aij); printf(n);int main() int a56; getMat(a,5,6); int b5,c5,d5,sum5; getMax(a,5,6,b,c,d,sum); display(a); printf(每一行最大值为:n); int i; for(i=0;i5;i+) printf(第%d 行: %d,其下标: (%d,%d)n,i,b

10、i,ci,di); printf(每一行的总和为 :n); for(i=0;i5;i+) printf(第%d 行:%dn,i,sumi); system(pause);二、 编写程序判断输入的任意字符,任意长度的字符串是否回文( 顺读,逆读均相同) ,最后输出原字符串和判断结果。#include #include #include void main() int i; int bIsSame = 1;. 功能:复制的内容到中#include #include 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -

11、第 5 页,共 12 页 - - - - - - - - - - #include #define BUFFERSIZE 1000int main(int argc, char *argv) if (argc3) printf(参数不足 n); return 0; 入 n 个职工的信息,找出3 个年龄最小的职工打印出来,n 可以取 6。#include#includestruct nodege-(*(struct node *)b).age;int main() int n,i; printf(请输入职工数及其各职工的职工号、姓名、年龄:n); scanf(%d,&n); for(i=0;in

12、;i+) scanf(%d %s %d,&empi.id,empi.name,&empi.age); qsort(emp,n,sizeof(node),cmp); printf(年龄最小的三位职工是:n); for(i=0;i3;i+) printf(%d %s %dn,empi.id,empi.name,empi.age); system(pause); (5)n 个人排一圈123 报数,报到3 的人退到圈外,直到剩最后一个人为止。#include #include 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - -

13、 - -第 6 页,共 12 页 - - - - - - - - - - struct node int data; struct node * link; *list,*p,*r; void JOSEPHUS(int n,int m,int k); int main() int n,k; printf(请输入人数 :); scanf(%d,&n); printf(n请输入从哪里开始:); scanf(%d,&k); /*printf(n请输入数到 :); scanf(%d,&m); */ if(n!=0) JOSEPHUS(n,3,k); system(PAUSE); return 0; v

14、oid JOSEPHUS(int n,int m,int k) int i; for (i=1;idata=i; if(list=NULL) list=p; else r-link=p; r=p; p-link=list; p=list; for (i=1;ilink; while(p-link!=p) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 12 页 - - - - - - - - - - for(i=1;ilink; r-link=p-link; printf(%dn,p-data

15、); free(p); p=r-link; printf(n最后被删除结点是%dn,p-data); (6) 冒泡排序。#define N 10#include int bublesort(int aN)int i,j,change,temp;for (i=N-1,change=1;i=1&change;-i) change=0; for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp; change=1; return 0; int main() int aN;for (int i=0;iN;i+) scanf(%d,&ai);精品资料 - - - 欢迎下载 -

16、 - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 12 页 - - - - - - - - - - for (int i=0;iN;i+)printf(%d ,ai);printf(n);bublesort(a);for (int i=0;iN;i+)printf(%d ,ai);printf(n);return 0; (7) 建立二叉树 , 并中序遍历。#include #include typedef struct tnode int value;struct tnode *lchild;struct tnode *rchi

17、ld;BTreeNode,*BTree;BTree createBTree()int value;BTree t;scanf(%d,&value);if (value=0) /* 判断当前子树是否创建完成*/ return NULL; else t=(BTree)malloc(sizeof(BTreeNode); t-value=value; t-lchild=createBTree();精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 12 页 - - - - - - - - - - t-rc

18、hild=createBTree(); return t;void InorderBTree(BTree B) if(B) InorderBTree(B-lchild); printf(%dn,B-value); InorderBTree(B-rchild); int main() printf(输入整数,以结尾n); BTree B=createBTree(); printf(中序遍历如下 :n); InorderBTree(B); return 0;(8) 生成一个长度为21 的数组,依次存入 1 到 21;建立一个长度为21的单向链表, 将上述数组中的数字依次存入链表每个结点中;将上述链

19、表变为单向封闭(循环 )链表; 从头结点开始数,将第 17 个结点删除, 将它的下一个结点作为新的头结点;重复上述过程,直到该链表中只剩一个结点,显示该结点中存入的数字。分三个文件,一个main; 一个 .h; 一个 .c 文件,写函数(1).main #include #include #include Count int main() struct node * head, * current; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 12 页 - - - - - - - - -

20、 - int i; head = CreatNode(); printf(#%d#n, head - a); while(head - Next != NULL) current = head; for(i = 1; i Next; head = current - Next; if(head - Next != current) file #ifndef COUNT_21_H_INCLUDED #define COUNT_21_H_INCLUDED #define NUM 21 typedef struct node file #include #include #include Count

21、 struct node * CreatNode() int i; struct node * head = NULL, * current = NULL, * temp = NULL; for(i = 0; i a = 1; temp = head; else current = (struct node * )malloc(sizeof(struct node); temp - Next = current; temp = current; temp - a = i + 1; current - Next = head; /make it a cycle return head; void DeleteNode(struct node * current) struct node * temp; temp = current; while(temp - Next != current) temp = temp - Next; (temp - Next) = (current - Next); free(current); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 12 页 - - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁