c语言程序阅读题目(带解释)

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

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

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

资源描述

阅读程序模拟题1.下面程序执行结果是#includestdio.hvoidswap(int*,int*);voidmain(){inta=5,b=7,*ptr1,*ptr2;ptr1=&a,ptr2=&b;swap(ptr1,ptr2);printf(“*ptr1=%d,*ptr2=%d\n”,*ptr1,*ptr2);printf(“a=%d,b=%d\n”,a,b);}voidswap(int*p1,*p2){intp;p=*p1;*p1=*p2;*p2=p;}2.输入wearestudents,下面程序运行结果3#includestdio.h*(求输入的单词数)voidmain(){charstring[81];inti,num=0,word=0;charc;gets(string);for(i=0;(c=string[i])!='\0';i++)if(c=='')word=0;elseif(word==0){word=1;num++;}printf(%d\n,num);}3.下面程序的运行结果是24576011973#includestdio.h(求已输入数据的反置式子)voidinv(intx[],intn);voidmain(){inti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);printf(Thearrayhasbeenreverted:\n);for(i=0;i10;i++)printf(%d,,a[i]);printf(\n);}voidinv(intx[],intn){intt,i,j,m=(n-1)/2;for(i=0;i=m;i++){j=n-1-i;t=x[i];x[i]=x[j];x[j]=t;}}4.下面程序的运行结果是char*a=Iamateacherchar*b=Iamateacher#includestdio.hvoidcopy_string(char*,char*);voidmain(){char*a=Iamateacher.;char*b=Youareastudent.;copy_string(a,b);printf(\nstring_a=%s\nstring_b=%s\n,a,b);}voidcopy_string(char*from,char*to){for(;*from!='\0';from++,to++)*to=*from;*to='\0';}5.下面程序的运行的功能是BASICComputerFORTRANFollowmeGreatWall(按从小到大排列单词)#includestdio.h#includestring.hvoidsort(char*name[],int);voidprint(char*name[],int);voidmain(){char*name[]={Followme,BASIC,GreatWall,FORTRAN,Computer};intn=5;sort(name,n);print(name,n);}voidsort(char*name[],intn){char*temp;inti,j,k;for(i=0;in-1;i++){k=i;for(j=i+1;jn;j++)if(strcmp(name[k],name[j])0(若换成0则是按从大到小))k=j;if(k!=i){temp=name[i];name[i]=name[k];name[k]=temp;}}}voidprint(char*name[],intn){inti;for(i=0;in;i++)puts(name[i]);}6.输入5回车后,下面程序的执行结果是120#includestdio.h(求阶乘)longintfac(int);voidmain(){intn;scanf(%d,&n);printf(%d\n,fac(n));}longintfac(intm){longintf;if(m0)printf(dataerror!\n);elseif(m==0||m==1)f=1;elsef=fac(m-1)*m;returnf;}7.下面程序执行的结果是:li3Zhang3Wang2统计选票数目输入如下数据:LiZhangLiLiWangZhangWangZhang#includestdio.hstructperson{charname[20];intcount;}leader[3]={Li,0,Zhang,0,Wang,0};voidmain(){inti,j;charleader_name[20];for(i=1;i=8;i++){scanf(%s,leader_name);for(j=0;j3;j++)if(strcmp(leader_name,leader[j].name)==0)leader[j].count++;}for(i=0;i3;i++)printf(%5s:%d\n,leader[i].name,leader[i].count);}8.输入17,下面程序执行的结果是17isaprimenumber#includestdio.h(判断一个数是否是素数)#includemath.hvoidmain(){intm,i,k;scanf(%d,&m);k=sqrt(m);for(i=2;i=k;i++)if(m%i==0)break;if(ik)printf(%disaprimenumber\n,m);elseprintf(%disnotaprimenumber\n,m);}9.下面程序执行的结果是#includestdio.h#includemath.hvoidmain(){inta[3][3],i,j;for(i=0;i3;i++)for(j=0;j3;j++){switch(abs(i-j)){case0:if(i==0||i==2)a[i][j]+=3;elsea[i][j]++;break;case1:a[i][j]+=2;break;case2:a[i][j]+=3;}}printf(%d,%d,%d,a[1][1],a[1][2],a[2][0]);}10.写出下面程序的运行结果:8,17#includestdio.hintfunc(int,int);voidmain(){intk=4,m=1,p1,p2;p1=func(k,m);p2=func(k,m);printf(“%d,%d\n”,p1,p2);}intfunc(inta,intb){Static(静态变量,执行完成后保留值)intm=0,i=2;i+=m+1;m=i+a+b;return(m);}11.以下程序执行后输出的结果是123,0#includestdio.hvoidmain(){FILE*fp;inti,k=0,n=0;fp=fopen(d1.dat,w);for(i=1;i4;i++)fprintf(fp,%d,i);fclose(fp);fp=fopen(d1.dat,r);fscanf(fp,%d%d,&k,&n);printf(%d,%d\n,k,n);fclose(fp);}12.以下程序执行后输出的结果是3个空格13个空格23个空格33个空格43个空格53个空格6#includestdio.hvoidmain(){inta[2][3]={{1,3,5},{2,4,6}};intb[3][2],i,j;for(i=0;i2;i++){for(j=0;j3;j++){b[j][i]=a[i][j];}}for(i=0;i3;i++){for(j=0;j2;j++)printf(%4d,b[i][j]);(输出4列,不足的前头补空)printf(\n);}}13.若输入的值是-75,以下程序的运行结果是-3*5*5#includestdio.h(求一个数的乘法分解)#includemath.hvoidfun(int);voidmain(){intn;scanf(%d,&n);if(n0)printf(-);n=abs(n);fun(n);}voidfun(intx){intk,r;for(k=2;ksqrt(x);k++){r=x%k;while(r==0){printf(%d,k);x=x/k;if(x1)printf(*);r=x%k;}}if(x!=1)printf(%d\n,x);}14.以下程序的运行结果是4#includestdio.h#includestdlib.hstructNODE{intnum;structNODE*next;};voidmain(){structNODE*p,*q,*r;intsum=0;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)malloc(sizeof(structNODE));p-num=1;q-num=2;r-num=3;p-next=q;q-next=r;r-next=NULL;sum+=q-next-num;sum+=p-num;printf(%d\n,sum);}15.输入87653142,下面程序运行的结果是7531#includestdio.h(取出数字中的奇数并组成新的数字)voidfun(longint,longint*);voidmain(){longs,t;scanf(%ld,&s);fun(s,&t);printf(%ld\n,t);}voidfun(longints,longint*t){intd;longs1=1;*t=0;while(s0){d=s%10;if(d%2!=0)(若改成=0,则输出数字中的偶数,并组成新的数字){*t=d*s1+*t;s1*=10;}s/=10;}}16.下面程序运行的结果13431#includestdio.hstructNODE{intk;structNODE*link;};voidmain(){structNODEm[5],*p=m,*q=m+4;inti=0;while(p!=q){p-k=++i;/*p指向k*/p++;q-k=i++;q--;}q-k=i;for(i=0;i5;i++)printf(%d,m[i].k);printf(\n);}

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

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

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

×
保存成功