2015保研试题答案(七秒记忆)重点.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编程题(9道题,每道20分,共180分) 编写一个完整的程序,使之能完成以下功能:从键盘中输入若干个整数,用链表储存这些输入的数,并要求存储的顺序与输入的顺序相反。 #includestdio.h #includestdlib.h typedef struct LNode{ int data; struct LNode *next; }LNode,*LinkList; int main() { LinkList L; LNode *s; int x,n; L = (LinkList )malloc(sizeof(LNode)); L-next = NULL; scanf(%d,n); while(n--){ scanf(%d,x); s = (struct LNode *)malloc(sizeof(struct LNode)); s-data = x; s-next = L-next; L-next = s; } while(L-next){ printf(%d ,L-next-data); L = L-next; } printf(\n); return 0; } 编写一个函数,把整数序列分成两个部分,使得左边部分都不大于右边部分,不需要排序。 ( 考察的是快速排序的部分) #includestdio.h int partion(int arr[],int n); int main() { int a[20],n,i; scanf(%d,n); for(i = 0;i n;i ++) scanf(%d,a[i]); partion(a,n); printf(调整后序列为:\n); for(i = 0;i n;i ++) printf(%d ,a[i]); printf(\n); //printf(%d\n,partion(a,n)); return 0; } int partion(int arr[],int n) { int i = 0,j = n-1; int pivot = arr[0]; while(i j){ while(i j arr[j] pivot) j--; arr[i] = arr[j]; while(i j arr[i] pivot) i++; arr[j] = arr[i]; } arr[i] = pivot; printf(首选数字现在是第%d个,是%d\n\n,i+1,arr[i]); return i; } 有两个整数数组A和B,它们分别有m、n个整数。并且都是按非递减序列,现将B数组插入A数组中,使得A数组中各元素不大于B数组中各元素,且还是非递减序列。 #includestdio.h void insert(int A[],int B[],int m, int n); int main() { int a[30],b[30]; int i,m,n; scanf(%d %d,m,n); for(i = 0;i m;i ++) scanf(%d,a[i]); for(i = 0;i n;i ++) scanf(%d,b[i]); insert(a,b,m,n); return 0; } void insert(int a[],int b[],int m, int n) { int i,j,k = m-1; int temp = a[m - 1]; for(j=0;b[j]a[k];j++,k++) { for(i=k;a[i]b[j];i--) { a[i+1]=a[i]; } a[i+1]=b[j]; } for(i = 0;ik+1;i ++) printf(%d ,a[i]); printf(\n); for(j = 0;jn;j++) if(b[j]temp) printf(%d ,b[j]); printf(\n); } } 两个递增有序整数数列链表La和Lb,将他们合并后,变成一个新的链表,要求该链表递减排序。(node由整型节点指针) 5、编写一个函数,删除链表中的最小值。(node由整型节点指针) 编写函数判断小括号是否匹配。 #includestdio.h #includestring.h int main() { char a[30],b[30]; int i,j = 0,flag = 0; scanf(%s,a); int n = strlen(

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档