资源描述:
《上海工程技术大学2009-2010(1)c语言试卷a》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一.读程序,写结果(第1题题5分;第2题每题7分;第3、4、5题10分;共计31分)1.该程序的输出是main(){intk=7,n=0;do{switch(k){case1:case3:n+=1;k--;break;case5:case6:n++;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}printf("%d",n);}while(k>0&&n<=7);}2.该程序的输出是#includevoidmain(){chara[]="programming",b
2、[]="language";char*p1;*p2;inti;p1=a;p2=b;for(i=0;i<8;i++)if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));}3.设本题输入的数n=2,m=2,该程序的输出是#include"stdio.h"intAck(intm,intn){intackmn;if(m==0){ackmn=n+1;returnackmn;}elseif(n==0){ackmn=Ack(m-1,1);returnackmn;}else5{ackmn=Ack(m-1,Ack(m,n-1))
3、;printf("ackmn=%d",ackmn);returnackmn;}}main(){intm,n,sum;printf("inputmandn:");scanf("%d,%d",&m,&n);sum=Ack(m,n);printf("%d",sum);/}4.输入自然数n=5时,该程序的输出是#include"stdio.h"main(){intn,a,i,j,k;printf("PleaseinptaNumber:");scanf("%d",&n);printf("");a=1;for(i=1;i<=n;i++)
4、{k=a;for(j=1;j<=n+1-i;j++){printf("%4d",k);k=k+(n-j+1);}printf("");a=a+1;}}5.输入自然数n=5时,该程序的输出是#includemain(){charc=96;inti,j,n,k;printf("Inputanumbern=");scanf("%d",&n);printf("");k=(n+1)/2;for(i=1;i<=k;i++){for(j=1;j<=k-i;j++)printf("");for(j=1;j<=i*2-1;j++)p
5、rintf("%c",c+i);printf("");}5for(i=k-1;i>=1;i--){for(j=1;j<=k-i;j++)printf("");for(j=1;j<=i*2-1;j++)printf("%c",c+i);printf("");}}二.(16分)下列程序是要完成验证卡布列克运算,即任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果
6、四个数中含有0,则得到的数不足四位);3)求两个数的差,得到一个新的四位数(高位零保留)。重复以上过程,最后得到的结果是6174,这个数被称为卡布列克数。读完程序后,补全标有分值的程序段,使程序具有验证卡布列克运算的功能。intcount=0;main(){intn;printf("Enteranumber:");scanf("%d",&n);/*输入任意正整数*/vr6174(n);/*调用函数进行验证*/}intvr6174(intnum){inteach[4],max,min;while(num!=6174&&num)/*若不等于61
7、74且不等于0则进行卡布列克运算*/{parse_sort(num,each);/*将整数分解,数字存入each数组中*/max_min(each,&max,&min);/*求数字组成的最大值和最小值*/num=max-min;/*求最大值和最小值的差*/printf("[%d]:%d-%d=%d",++count,max,min,num);/*输出该步计算过程*/}}intparse_sort(intnum,int*each){inti,*j,*k,temp;for(i=0;i<=4;i++)/*将NUM分解为数字(3分)*/for(
8、i=0;i<3;i++)/*对各保数字从大到小进行排序(6分)*/5return;}intmax_min(int*each,int*max,int*min)/*将分解的数字还原为