ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:20.60KB ,
资源ID:20197753      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20197753.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(吉林大学历年C语言程序设计试题及答案Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

吉林大学历年C语言程序设计试题及答案Word文档下载推荐.docx

1、i length 则修改 length.设计函数如下:int fun(int a,int n)int length=1,counter=1;int p=a0;for(int k=1;kn;K+)if(ak=p)counter+;else p=ak;if(length counter)length=counter;counter=1;return length;(3)解题思想:从数组的第一个元素 a0开始访问,每访问到一个零,则从后面找到一个非零元素与其交换。若找不到,那么程序结束。void fun(int a,int n)int i,j,p;for(i=0;i n;i+)if(a=0)for(

2、j=i;j n;j+)if(aj!=0)p=j;break;if(j=n-1)return;a=ap;ap=0;三,解法一,解题思想:用一个数组 a200来存放集合的元素,并且设 a0=1.每次都从集合中选取最小的元素输出。如果输出的数量达到 100 个,则结束程序。否则产生两个数 y,z,并把 y,z 插入到集合中去(这里插入应该按照从小到大的顺序排序,以保证每次都选取最小的元素。)在插入的过程中还应该保证集合中没有相同的元素(集合的互异性)。设计程序如下:#include int a200;void insert(int k)int i;i=0;i-)if(a=0)continue;if(

3、k a)ai+1=a;else ai+1=k;return;void main()int count=0,n,i,y,z;a0=1;i 200;i+)n=aj;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 int judge(int k)int t;if(k=1)ret

4、urn 1;if(k-1)%2=0&judge(k-1)/2)return 1;if(k-1)%3=0&judge(k-1)/3)return 1;return 0;void main()int k=1,count=0;while(count 100)if(judge(k)cout k ;count+if(count%10=0)cout endl;99年试题答案 一,(2)解题思想:平面上任意三点只要不共线,则一定能构造出一个三角形。所以只要 k1=(y2-y1)/(x2-x1)和 k2=(y3-y2)/(x3-x2)不相等或互为相反数就可以构成三角形。#define MAX 3.4e37 t

5、ypedef struct int x;int y;PointType100;int Triangle(PointType Points)int i,j,k,count=0;float K1,K2;i 100;i+)for(j=i+1;j 100;j+)for(k=j+1;k 100;k+)if(Pointsj.x=Points.x)else K1=(Pointsj.y-Points.y)*1.0/(Pointsj.x-Points.x);if(Pointsj.x=Pointsk.x)K2=MAX;else K2=(Pointsj.y-Pointsk.y)*1.0/(Pointsj.x-Poi

6、ntsk.x);if(K1=K2)continue;return count;二。解题思想:对于点 N1,设它邻接到 a,b,c.,那么只要求出 a,b,c.,到 N2的所有路径。递归地调用这个过程,就可以求出解。设计程序如下:#include struct node int x;struct node*next;node*head;void print()node*p=head;while(p!=NULL)cout x next;cout next;delete p;void insert(int i)node*p=new node;p-x=i;p-next=head;head=p;void

7、 paths(int a1010,int N1,int N2)if(N1=N2)print();for(int i=0;i 10;i+)if(aN1=1)insert(i);paths(a,i,N2);del();三,解题思想:设表 l1和 l2 分别有 m,n 个元素。那么这个保序合并的过程就是把n 个元素往 m+1个位置插入的过程,其中插入的顺序必须保持原有的顺序。由组合数学的知识可以知道,这种插入一共有(m+n)!/m!*n!种排序方法。现在我们用一个数组 cm+1来记录这 m+1 个位置的元素的个数,那么只要记录先来 cm+1的具体数值就可以唯一确定 l1 和 l2的保序合并表,打印的

8、时候只需要根据 cm+1打印即可。#include const int m=3;const int n=3;char l1m=1,2,3;char l2n=a,b,c;void merges(int c,int p;int k)int i,j;if(k=n+1)print(c);/递归出口,如果所有的数都放完了,打印,返回 for(j=0;j m+1;j+)dj=cj;cp=cp+1;/p 位置放下一个数 k+;for(i=p;i m+1;i+)merge(c,i,k);for(j=0;j+)cj=dj;k-;void main()int cm+1;int k=1;i+)c=0;merge(c

9、,0,k);void print(int c)int sum=0,p=0;i+)sum+=c;if(sum!=n)return;i+)for(int j=0;j+)cout l2p;cout l1;cout endl;四,解题思想:按照数目的元素作为交换规则,可以得到:aj和 am-1n-1互相交换。如果有偶数行,那么前 m/2和后 m/2行交换;如果有奇数行,那么第 m/2 的前n/2 个数和后 n/2 个数相交换。include void swapt(int amn)int temp,i,j;i(m/2);i+)for(j=0;j+)temp=aj;aj=am-1-in-1-j;am-1-in-1-j=temp;if(m%2!=0)for(j=0;j length 则修改 length.设计函数如下:j(n/2);j+)temp=am/2j;am/2j=am/2n-1-j;am/2n-1-j=temp;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1