分享
分享赚钱 收藏 举报 版权申诉 / 24

类型华科计算机考研复试历年上机题汇总.doc

  • 上传人:tkhy51908
  • 文档编号:7729875
  • 上传时间:2019-05-24
  • 格式:DOC
  • 页数:24
  • 大小:92.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    华科计算机考研复试历年上机题汇总.doc
    资源描述:

    1、华科历年上机题汇总(欢迎补全)代码都很多是我自己写的,不一定正确啊!错了可不负责任的,呵呵仅供参考!= 10年保送生上机试题1、不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。#include#includeint main()char s1200,s2100;int i,len1,len2;scanf(“%s %s“,s1,s2);for(i=0;i#include#include#define MAXLEN 100typedef struct nodeint data;struct node *next;LNode,*LinkList;int changeSt

    2、ring(char s,int len)/把字符串长度变成4的整数倍;int i,temp;char ssMAXLEN;if(len%4!=0)temp=4-len%4;/需要在前面添加的0的个数;for(i=0;idata=temp;L-next=NULL;start=L;temp=0;while(idata=temp;p-next=NULL;start-next=p;/插入结点;start=p;temp=0;/重新计数;i+;start-next=NULL;return L;LinkList reverse(LinkList L)/逆转单循环链表;LinkList p,q,r;if(L!=

    3、NULL)p=L-next;L-next=NULL;while(p!=NULL)q=p;p=p-next;q-next=L;L=q;/printf(“*%dn“,L-data);return L;return NULL;void display(LinkList L)/打印输出单链表;LinkList p;printf(“%d “,L-data);p=L-next;while(p!=NULL)printf(“%d “,p-data);p=p-next;printf(“n“);LinkList add_LNumber(LinkList L1,LinkList L2)/2大数相加,单链表实现;Li

    4、nkList L,p,q,head,r;int c;/进位;int temp;L=(LinkList)malloc(sizeof(LNode);head=(LinkList)malloc(sizeof(LNode);head-next=NULL;L=head;p=L1;q=L2;c=0;while(p!=NULLtemp=p-data+q-data+c;r-data=temp%10000;/printf(“*%dn“,r-data);r-next=NULL;c=temp/10000;head-next=r;head=r;p=p-next;q=q-next;while(p!=NULL)/L1剩余

    5、部分非空;r=(LinkList)malloc(sizeof(LNode);temp=p-data+c;r-data=temp%10000;r-next=NULL;c=temp/10000;head-next=r;head=r;p=p-next;while(q!=NULL)/L2剩余部分非空;r=(LinkList)malloc(sizeof(LNode);temp=q-data+c;r-data=temp%10000;r-next=NULL;c=temp/10000;head-next=r;head=r;q=q-next;if(c!=0)/还有进位;r=(LinkList)malloc(si

    6、zeof(LNode);r-data=c;r-next=NULL;head-next=r;return L-next;int main()char s1MAXLEN,s2MAXLEN;int len1,len2,add_len,i;LinkList L1,L2,L;L1=(LinkList)malloc(sizeof(LNode);L2=(LinkList)malloc(sizeof(LNode);printf(“请输入第一个大数:n“);scanf(“%s“,s1);len1=strlen(s1);L1=createList(s1,len1);printf(“请输入第二个大数:n“);sca

    7、nf(“%s“,s2);len2=strlen(s2);L2=createList(s2,len2);L1=reverse(L1);L2=reverse(L2);/display(L1);/display(L2);L=add_LNumber(L1,L2);/display(L);L=reverse(L);display(L);= 09年09华中科技大学复试有关题目嵌入式方向笔试是数据库和算法概论数据库考了查询语言,死锁,等等算法概论:1题:好像是螺丝和螺母问题,每个螺丝对应一个螺母,大概有100对吧,找出相应对,最后计算时空复杂度。还有,关于排列树,好像还有个回溯法。前面几道简答题上机题目:环

    8、境:TC,VC+1.输入一串数,然后,建立链表,排序输出。2.计算26个字母的输入次数,好像不区分大小写。3.用一维数组存储学号和成绩,然后,按成绩排序输出。= 09年系统结构上机试题09年系统结构上机题.输入四个数,分别创建四个链表 A,B,C,D. 打印四个链表.A 按升序排列,D 按降序排列.把 B 中第一个数插入 A 中,保持 A 的升序排列,把 C 中第一个数插入 D 中,保持 D 的降序排列.把链表 A 中每个数的个位数打印出来.合并链表 AD,保持升序排列。华中科技大学复试机试题目2008 年一1、狼过河问题(运用到回溯)2、统计文件中单词数目3、N 阶楼梯上楼问题:一次可以走两

    9、阶或一阶,问有多少种上楼方式。 (递归)4、链表操作二第一个是一个上楼梯的种数的统计,本来是一个用递归可以解决的问题,但是题目偏偏要求编写快速算法,言下之意就是要求你把递归转化成非递归。#include“stdio.h“#include“stdlib.h“#include“string.h“main()int n,i;long a10000;printf(“please input n :“);scanf(“%d“,for(i=1;i/*函数 count 计算一共有多少种上楼方式+非递归方式*/int count(int i)int a3,j;a1=1;a2=2;if(i=1)return 1

    10、;else if(i=2)return 2;elsefor(j=3; j#includeint cmp(const void *a,const void *b)return (*(int *)a)-(*(int *)b);int main()int a5,i;/char s5;FILE *foutput;printf(“请输入 5 个待排序的数:n“);for(i=0;i #include int IllegleChar(char c) if(c=0 if(flag=1) printf(“YESn“); else printf(“NOn“); 2005第一题:对给定的一个字符串,找出有重复的字

    11、符,并给出其位置,如:输入:abcaaAB12ab12输出:a,1;a,4;a ,5;a,10b,2;b,111,8;1,122,9;2,13参考代码:#include#include#includeint main()char s1000;int len,i,j,k,flag,cnt,a1000,temp;while(gets(s)!=NULL)len=strlen(s);for(i=0;i#includeint cmp(const void *a,const void *b)/qsort 的比较函数;return (*(int *)a)-(*(int *)b);int main()int

    12、a45,i,j,b54;for(i=0;i#include#includetypedef struct node/二叉树结点数据结构定义;char value;struct node *lchild,*rchild;BTNode,*BTree;void insertNode(BTree p=(BTree)malloc(sizeof(BTNode);p-value=c;p-lchild=NULL;/貌似没有这 2 行不行,纠结了半天啊! p-rchild=NULL;if(t=NULL)t=p;elseq=t;while(q!=NULL)temp=q;if(cvalue)q=q-lchild;el

    13、seq=q-rchild;if(cvalue)temp-lchild=p;elsetemp-rchild=p;void inOrderTra(BTree t)/中序遍历二叉排序树;if(t!=NULL)inOrderTra(t-lchild);printf(“%c “,t-value);inOrderTra(t-rchild);int main()char s1000;int len,i;while(gets(s)!=NULL)len=strlen(s);BTree t;t=NULL;for(i=0;iint main()_int64 a100,y1,y2;/存放阶乘;int i,n,p,m;

    14、while(scanf(“%d“,p=n;elsep=n-1;m=n;a1=1;for(i=2;iint main()int a66,i,j,flag;flag=1;/标记矩阵是否对称;for(i=1;i#includetypedef struct node/链表结点数据结构定义;int data;struct node *next;LNode,*LinkList;void insert_node(LinkList t=(LinkList)malloc(sizeof(LNode);/新建结点;t-data=a;t-next=NULL;if(L=NULL)/是第一个结点;L=t;elsetemp

    15、=L;p=L;if(adata)/结点插在表头;t-next=temp;L=t;elsewhile(temp!=NULLt-next=p-next;/插入结点;p-next=t;/printf(“*n“);void print(LinkList L)/遍历链表;LinkList temp;if(L!=NULL)temp=L;while(temp!=NULL)printf(“%d “,temp-data);temp=temp-next;printf(“n“);int main()int a;LinkList L;L=NULL;printf(“输入链表各结点值,以 10000 结束!n“);whi

    16、le(scanf(“%d“,insert_node(L,a);print(L);2002 年1、 编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。 (凡是以一个或多个空格隔开的部分就为一个单词)2、 #include3、 #include4、 int main()5、 char s1000;6、 int len,a1000=0,i,cnt;7、 gets(s);8、 len=strlen(s);9、 printf(“len=%dn“,len);10、 cnt=0;/记录单词数;11、 i=0;12、 while(i #include

    17、int shouxingshu(int n) int num,count,temp,a; a=n; num=n*n;/n 的平方 ; count=0;/记录 n 的位数; while(n0) count+; n=n/10; temp=1; while(count0) temp*=10; count-; if(num%temp=a) return 1; else return 0; int main() int i; for(i=2;i#includetypedef struct node/二叉树结点数据结构定义;char data;struct node *lchild,*rchild;BTN

    18、ode,*BTree;void createBTree(BTree scanf(“%c“,if(c=#)T=NULL;elseBTree t;t=(BTree)malloc(sizeof(BTNode);t-data=c;t-lchild=NULL;t-rchild=NULL;T=t;createBTree(T-lchild);createBTree(T-rchild);void inOrderTra(BTree T)if(T!=NULL)inOrderTra(T-lchild);printf(“%c “,T-data);inOrderTra(T-rchild);int main()BTree

    19、 T;printf(“请输入二叉树的先序遍历序列:n“);createBTree(T);printf(“中序遍历二叉树序列:n“);inOrderTra(T);printf(“n“);屏幕的格式化输出:给出一幅图形,用程序实现。如下所示。AA AAAB BA AB BAABC CBA AAAB BA (输入字符 B)AA(输入字符 C)#includeint main()char c;int sum,i,j;while(scanf(“%c“,for(i=0;i=0;j-)printf(“%c“,A+j);printf(“n“);for(i=sum-2;i=0;i-)for(j=0;j=0;j-

    20、)printf(“%c“,A+j);printf(“n“);getchar();/接受回车符;2。求最长的子序列和。比如 1+3-2,结果是 4;1+3-2+5,结果是 7;-1-2-3,结果是-1.另外要求运行时间不超过 1s,就是要求算法的复杂度要好(25 分)3。已知二叉树的前序和中序序列,要求写出后序序列。 (40 分)如果给的前序和中序序列是错误的,就要输出“NO ANSWER!“ #include#include#includetypedef struct nodechar data;struct node *lchild,*rchild;BTNode,*BTree;BTree c

    21、reateBTree(char *pre,int st1,int en1,char *in,int st2,int en2)BTree boot;boot=(BTree)malloc(sizeof(BTNode);int temp;temp=st2;int len_left;/左子树长度;/printf(“*n“);if(en2-st2)!=(en1-st1)printf(“No Answer!n“);/不能构成一棵树; exit(0);if(en1-st1en2)/注意:没有等号!printf(“No Answer!n“);/不能构成一棵树; exit(0); boot-data=prest

    22、1;len_left=temp-st2;boot-lchild=createBTree(pre,st1+1,st1+len_left,in,st2,temp-1);/构造左子树; boot-rchild=createBTree(pre,st1+len_left+1,en1,in,temp+1,en2);/构造左子树; return boot;void display(BTree T)/后序遍历二叉树;if(T!=NULL)display(T-lchild);display(T-rchild);printf(“%c“,T-data);free(T);/释放结点指针;int main()char

    23、pre1000,in1000;int len1,len2;BTree T;T=(BTree)malloc(sizeof(BTNode);while(scanf(“%s%s“,pre,in)!=EOF)len1=strlen(pre);len2=strlen(in);T=createBTree(pre,0,len1-1,in,0,len2-1);display(T);printf(“n“);/system(“pause“);/1 生成一个长度为 21 的数组,依次存入 1 到 21 /2 建立一个长度为 21 的单向链表,将上述数组中的数字依次存入链表每个结点中 /3 将上述链表变为单向封闭(循

    24、环)链表 /4 从头结点开始数,将第 17 个结点删除,将它的下一个结点作为新的头结点 /5 重复上述过程,直到该链表中只剩一个结点,显示该结点中存入的数字 #include#includetypedef struct nodeint data;struct node *next;LNode,*LinkList;LinkList createList(int a,int len)/创建单链表;LinkList L,p,r;int i;if(lendata=a0;p=L;for(i=1;idata=ai;p-next=r;p=r;p-next=NULL;/表尾;return L;LinkList

    25、 changeList(LinkList L)/把单链表变成单循环链表;LinkList p;p=L;while(p-next!=NULL)p=p-next;/p 移至表尾;p-next=L;return L;LinkList deleteLNode(LinkList L)/从链表中删除结点;LinkList p,r;int count=1;p=L;while(countnext;/p 移至第 17 个结点;count+;r-next=p-next;free(p);return r-next;/新的头结点;void display(LinkList L)/输出单链表;if(L!=NULL)LinkList p;p=L;while(p!=NULL)printf(“%d “,p-data);p=p-next;int main()int a21,i;LinkList L,p;for(i=0;inext!=L)L=deleteLNode(L);printf(“链表中最后剩下的结点是:%dn“,L-data);/display(L);

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:华科计算机考研复试历年上机题汇总.doc
    链接地址:https://www.docduoduo.com/p-7729875.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开