吉林大学历年C语言程序设计试题及答案.pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
吉林大学历年C语言程序设计试题及答案 (4) 98年试题答案 (辅导班讲义) 二。(1)解题思想:用p,q,k分别纪录A,B,C,三个数组正在访问的位置。 如果,A[P] B[q],那么将A[P]赋给c[k].否则,将B[q]赋给C[k].如果 A 先访问完,把B 的剩余部分复制到C 中。同样,如果B先访问完,把 A C 的剩余部分复制到 中。 设计函数如下: Void fun (int a[],int b[],int c[]) { int i,p 0,q 0,k 0; while((p m-1)(q n-1)) { if(a[p] b[q]) {c[k] a[p]; p++;} else { c[k] b[q]; q++;} k++; } if(p m) { for(i q;i n-1;i++) { c[k] b; k++;} } if(q n) { for(i p;i n-1;i++) { c[k] a; k++;} } } (2)解题思想:从数组的第一个元素a[0]开始访问,用一个变量p来纪录当前平 台的整数值,用length纪录最长平台的长度,用counter动态 纪录每一个平台的长度。如果某一个平台访问完以后counter length则修改l ength. 设计函数如下: int fun(int a[] int n) , { int length 1,counter 1; int p a[0]; for(int k 1;kn;K++) { if(a[k] p) counter++; else { p a[k]; if(length counter) length counter; counter 1; } } if(length counter) length counter; return length; } (3)解题思想:从数组的第一个元素a[0]开始访问,每访问到一个零,则从后面 找到一个非零元素与其交换。若找不到,那么程序结束。 设计函数如下: void fun(int a[],int n) { int i,j,p; for(i 0;i n;i++) { if(a 0) { for(j i;j n;j++) { if(a[j]! 0) { p j;break;} if(j n-1) return; } a a[p]; a[p] 0; } } } 三,解法一,解题思想:用一个数组a[200]来存放集合的元素,并且设a[0] 1. 每次都从集合中选取最小的元素输出。如果输出的数量达到100个,则结束程序。 否则产生两个数y,z,并把y,z插入到集合中去 (这里插入应该按照从小到大的 顺序排序,以保证每次都选取最小的元素。)在插入的过程中还应该保证集合中 没有相同的元素 (集合的互异性)。 设计程序如下: #include iostream.h int a[200]; void insert(int k) { int i ; for(i 0;i 200;i++) if(a k) return; for(i 199;i 0;i--) { if(a 0) continue; if(k a) a[i+1] a; else { a[i+1] k; return; } } } void main() { int count 0,n,i,y,z; a[0] 1; for(i 0;i 200;i++) { n a[j]; cout n ; count++; if(count%10 0) cout endl; if(count 100) return; y 2*n+1; z 3*n+1; insert(y); insert(z); } } 解法2,解题思想:按照自然数的顺序连续地产生数k,判断它是否属于集合M. 如果是输出这个数,计数器count加一。如果不是则连续。其中判断使用一个递 归函数实现。 设计程序如下: #include iostream.h int judge(int k) { int t; if(k 1) retu

文档评论(0)

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

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

1亿VIP精品文档

相关文档