c语言阅读程序题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

阅读程序题(共13分)6.以下程序运行时输出结果是(6)。#includestdio.h#defineM3#defmeNM+1#defineNNN*N/2main().{printf(%d\n,NN);}7.以下程序运行时输出结果是(7)。#includestdio.hmain(){chara=256:intd=a;prinff(%d,d+1);}、8•有如下程序,假定所用编译系统用两个字节存储一个int型操作数,已知输出结果第一行是FFD2,则第二行应当是(8)main(){inta[10]={1,2,3,4,5,6,7,8,9,0},*p;P=&a[5];printf(%X\n,p);printf(%X\n,p-1);9•以下程序运行时输出结果的第一行是(9),第二行是(10)。intC:voidfl(intx,int*sum){staticinty;x++;y++;c=c+y;*sum=(x+y)/c;}main(){inta,b=100:for(a=O;a2;a++){f1(a,&b);printf(%d%d%d\n,a,b,c)},10.以下程序运行时输出结果的第一行是___(11)_______,第三行是______(12)__________#includestdio.hvoidmat_change(intb[4][4]){inti,j,m,n,k,c[6][6];for(i=0;i6;i++)for(j=0;j6;j++)c[i][j]=1;for(i=1;i5;i++)for(j=1;j5;j++)c[i][j]=b[i-1][j-1];for(i=1;i5;i++)for(j=1;j5;j++){if(c[i][j]==0){k=0;for(m=-1;m=1;m++)for(n=-1;n=1;n++)if(!(m==O&&n==O))k=k+c[i+m][j+n];if(k==8)c[i][j]=1;}}for(i=1;i5;i++)for(j=1;j5;j++)b[i-1][j-1]=c[i][j];}main(){inti,j,a[4][4]={{0,1},{1,1,1,l},{0,1,0,1},{0,1,1,1}};mat_change(a);for(i=0;i4;i++).{for(j=0;j4;j++)printf(%d,a[i][j]);printf(\n);}}11.以下程序运行时输出结果是(13)。#includestdio.hvoidf(inta[],intn,intx,int*c);main(){inta[10]={1,3,5,2,3,5,3,7,4,1},t=0;f(a,10,5,&t);printf(%d,t);}voidf(inta[],intn,intX,int*c){if(n==0)return;if(a[O]=x)(*c)++;f(a+1,n-1,x,c);}12.以下程序运行时输出结果的第一行是(14),第二行是(15),第三行是(16)#includestdio.htypedefstructs{intindex;intvalue;}M;main(){staticinti,j,k,c[4][4];Ma[10]={{0,1},{3,2},{5,3},{6,4},{9,5},{15,6},{-l,0}},*p=a,b[10]={{1,1},{3,2},{4,3},{6,4},{lO,5},{13,6},{-1,0}},*q=b;while(p-index!=-1){i=p-index/4;j=p-index%4;c[i][j]=P-value;p++;}while(q-index!=-1){i=q-index/4;j=q-index%;c[i][j]+=q-value;q++;}for(i=0;i4;i++){for(j=0;j4;j++)printf(%d,c[i][j]);printf(\n);}}13.以下程守运行时输出结果的第一行是__(17)______,第二行是____(18)________。voidq(char*s,intleft,intright){inti,j;charx,y;i=left;j=right;x=s[(1eft+right)/2];do{while(s[i]x&&iright)i++:while(s[j]x&&jleft)j--;if(i=j){y=s[i];s[i]=s[j];s[j]=y;i++;j--;}}while(i=j);}main(){charstrl[6]=abcde,str2[7]=25134;q(strl,0,4);puts(strl);q(str2,1,4);puts(str2);}●完善程序题(共12分)714.如果一个两位整数是质数,将组成它的两个数字交换位置后形成的整数仍为质数,则称这样的数为绝对质数。例如,13就是一个绝对质数。以下程序用于找出所有两位绝对质数。#includestdio.hinta_prime(intn){intj,k,m[2];m[O]=n;m[1]=_____(19)_______;for(j=0;j2;j++)for(k=m[j]/2;k1;k--)if((20))return0;return1;}main(){inti;for(i=10;i100;i++)if(a_prime(i))printf(%d,i);}20i15.计算∑∑n!的值,即求(1!)+(1!+2!)+(1!+2!+3!)+…+(1!+2!+3!+…+20!)i=1n=1main(){inti,n;doubles=0,t;for(i=1;i=20;i++){________(21)__________;for(n=1;_____(22)___________;n++){t=t*n;s=s+t;}}printf(1!+(1!+2!)+…+(1!+2!+…+20!)=%e\n,s);}.16.以下程序中函数strmerge的功能是:合并a和b两个有序的字母字符串(字典序)而产生一个新的字符串,在合并的过程中删除重复出现的字符,合并后的字符串仍然保持原序并保存到c指向的数组中,函数返回在合并过程中删除的字符个数。main函数中输出合并后的字符串“copy”以及在合并过程中删除的字符个数3。includestdio.hintstrmerge(char*a,char*b,char*c){inti=0,j=0,k=O;chart;while(a[i]!='\0'&&(22){if(a[i]==b[j]){t=a[i];i++;(24);}elseif(a[i]b[j])t=a[i++];elset=b[j++];if(t!=c[k-1])(25)=t;。}while(a[i])if(a[i]!=c[k-1]).c[k++]=a[i++];elsei++:while(b[j])if(b[j]!=c[k-1])c[k++]=b[j++];elsej++;e[k]='\0';return(26);}main(){staticchars1[10]=ccp,s2[10]=oppy,s3[20];intn;n=strmerge(sl,s2,s3);puts(s3);printf(%d,n);}17.设某链表上每个结点的数据结构为typedefstructnode{intd;structnode*next;}NODE;函数NODE*invert(NODE*head)的功能是:将head指向的单链表逆置,即原链表最后一个结点变为第一个结点,原来倒数第二个结点变成第二个结点,以此类推。在逆置过程中不建立新的链表。NODE*invert(NODE*head){NODE*P,*q,*r;if(head==0||((27))returnhead;P=head;q=P-next;while(q!=0){r=(28);q-next=p;p=q;q=r;}(29)=O;head=(30);returnhead;}(6)6(7)1(8)FFD0(9)021(10)113(11)1100(12)0111(13)3(14)1104(15)3380(16)0550(17)edcba(18)25431(19)n/10+n%10*10(20)m[j]%k==0(21)t=1(22)n=i(23)b[j]!=’\0’(24)j++(25)c[k++](26)i+j-k(27)head-next==0(28)q-next(29)head-next(30)p●阅读程序题(共11分)6.以下程序运行时输出结果是(6)。#definePT3.14#defineS(x)PT*x*xmain()’{inta=2;printf(%4.1f,6.28/S(a));}7.已知int型变量的存储字节数为2,以下程序运行时输出结果是(7)。#includestdio.hmain(){inta=3,b=2,c=7,d=6,e=8;longf=a*10000+b*1000+c*100+d*10+e;printf(%ld,f);}8.以下程序运行时输出结果是(8)。#includestdio.hmain(){char*P=student;if(P==student)printf(yes);elseprintf(no);}9.以下程序运行时输出结果是(9)。#includectype.h#includestdio.hmain(){char*s=23a4;intk=0,a=0,b=0;do{if(isdigit(s[k])){if(s[k]%2==0){a=a+s[k]-'0';continue;}a=a+s[k]-'0';b=b+s[k]-'0';}}while(s[k+1]&&++k);printf(%d,%d,%d\n,k,a,b);}10.以下程序运行时输出结果是(10)。#includestdio.hintf(inta[],intm,intb[],intn,intc[]){inti,j,k=0,t;for(i=0;im;i++){for(t=1,j=0;jn;j++)if(a[i]==b[j]){t=O;break;}if(t)c[k++]=a[i];}returnk;}voidmain(){intx[]={7,2,3,6,5,4,1},y[]={5,10,7,9,8,6},z[10],w,j;w=f(x,7,y,6,z);for(j=0;jw;j++)printf(%d,z[j]);}11.以下程序运行时输出结果是(11)voidfun(int*p1,int*p2);main(){inti,a[6]={1,2,3,4,5,6};fun(a,a+5);for(i=O;i5;i++)printf(%2d,a[i]);}voidfun(int*pl,int*p2){intt;if(plp2).{t=*p1,*pl=*p2;*p2=t;fun(p1+=2,p2-=2);}}12.以下程序运行时输出结果的第一行是(12),第二行是(13)。voidswap(int*a,int*b){intc;c=*a;*a=*b;*b=c;}main(){inti,j,a[3][3]={1,2,3,4,5,6,7,8,9};for(i=0:i2:i++)for(j=0;j2-i;j++)if(i==j)swap(&a[i][j],&a[i+2][j+2]);elseswap(&a[i][j],&a[i+1][j+1]);for(i=0;i3;i++){for(j=0;j3;j++)printf(%d,a[i][j]);printf(\n);}}13.以下程序运行时输出结果的第一行是(14),第二行是(15),第三行是(16)提示:函数i

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功