计算机软件技术基础习题一解答

计算机软件技术基础习题一解答

ID:47857322

大小:147.00 KB

页数:16页

时间:2019-11-30

计算机软件技术基础习题一解答_第1页
计算机软件技术基础习题一解答_第2页
计算机软件技术基础习题一解答_第3页
计算机软件技术基础习题一解答_第4页
计算机软件技术基础习题一解答_第5页
资源描述:

《计算机软件技术基础习题一解答》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.习题解答3.设n为正整数,分析下列各程序段中加下划线的语句的执行次数。(1)for(inti=1;i<=n;i++)for(intj=1;j<=n;j++){c[i][j]=0.0;for(intk=1;k<=n;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];}(2)x=0;y=0;for(inti=1;i<=n;i++)for(intj=1;j<=i;j++)for(intk=1;k<=j;k++)x=x+y;(3)inti=1,j=1;while(i<=n&&j<=n){

2、i=i+1;j=j+i;}(4)*inti=1;do{for(intj=1;j<=n;j++)i=i+j;}while(i<100+n);【解答】(1)(2)(3)i=1时,i=2,j=j+i=1+2=2+1,i=2时,i=3,j=j+i=(2+1)+3=3+1+2,i=3时,i=4,j=j+i=(3+1+2)+4=4+1+2+3,i=4时,i=5,j=j+i=(4+1+2+3)+5=5+1+2+3+4,……i=k时,i=k+1,j=j+i=(k+1)+(1+2+3+4+…+k),解出满足上述不等式的k

3、值,即为语句i=i+1的程序步数。..(4)for语句每执行一次,语句i=i+j将执行n次,而i的值会增加因此,当for语句执行k次后,i的值将变为故最终for语句的执行次数k为满足的最小整数k,语句i=i+j的程序步数为n*k。4.试编写一个函数计算n!*2n的值,结果存放于数组A[arraySize]的第n个数组元素中,0£n£arraySize。若设计算机中允许的整数的最大值为maxInt,则当n>arraySize或者对于某一个k(0£k£n),使得k!*2k>maxInt时,应按出错处理。可有

4、如下三种不同的出错处理方式:(1)用printf显示错误信息及exit(1)语句来终止执行并报告错误;(2)用返回整数函数值0,1来实现算法,以区别是正常返回还是错误返回;(3)在函数的参数表设置一个引用型的整型变量来区别是正常返回还是某种错误返回。试讨论这三种方法各自的优缺点,并以你认为是最好的方式实现它。【解答】#include constintarraySize=100;constintMaxInt=0x7fffffff; intcalc(intT[],intn){ inti,v

5、alue=1;T[0]=1; if(n!=0){intedge=MaxInt/n/2;for(i=1;iedge)return0;}value*=n*2;}T[n]=value;printf("A[%d]=%d”,n,T[n]);return1;}voidmain(){ intA[arraySize];inti;for(i=0;i

6、d.",i);break;}..}/*---------顺序表结构的定义.为简化起见,表元素我们使用整型数据----------------------数据元素从data[0]处开始存储---------------------------------*/typedefstruct/*注意typedef的使用*/{intdata[MAXSIZE];/*数据域*/intlength;/*表长*/}listtype;5.设有一个线性表(a0,a1,…,an-2,an-1)存放在一个一维数组A[array

7、Size]中的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原址内容置换为(an-1,an-2,…,a1,a0)。最后分析此算法的时间复杂度及空间复杂度。【解答】voidinverse(listtype*A){inttmp;intn=A->length;for(inti=0;i<=(n-1)/2;i++){tmp=A->data[i];A->data[i]=A->data[n-i-1];A->data[n-i-1]=tmp;}}时间复杂度:需进行n/2次循环,因此时间复杂度为O

8、(n);空间复杂度:使用一个整形辅助存储单元tmp,因此空间复杂度为O(1)。6.顺序表的插入和删除要求仍然保持各个元素原来的次序。设在等概率情形下,对有127个元素的顺序表进行插入,平均需要移动多少个元素?删除一个元素,又平均需要移动多少个元素?【解答】若设顺序表中已有n个元素。又设插入或删除表中各个元素的概率相等,则在插入时因有n+1个插入位置(可以在表中最后一个表项后面追加),每个元素位置插入的概率为1/(n+1),但在删除时只能在已

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。