C7.docx
- 文档编号:11708428
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:16
- 大小:19.68KB
C7.docx
《C7.docx》由会员分享,可在线阅读,更多相关《C7.docx(16页珍藏版)》请在冰点文库上搜索。
C7
吉林大学历年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中。
设计函数如下:
Voidfun(inta[],intb[],intc[])
{ inti,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则修改length.
设计函数如下:
intfun(inta[],intn)
{ intlength=1,counter=1;
intp=a[0];
for(intk=1;k if(a[k]==p)counter++; else { p=a[k]; if(length counter=1; } } if(length returnlength; } (3)解题思想: 从数组的第一个元素a[0]开始访问,每访问到一个零,则从后面找到一个非零元素与其交换。 若找不到,那么程序结束。 设计函数如下: voidfun(inta[],intn) { inti,j,p; for(i=0;i if(a==0) { for(j=i;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 inta[200]; voidinsert(intk) { inti; for(i=0;i<200;i++) if(a==k)return; for(i=199;i>=0;i--) { if(a==0)continue;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C7