c语言程序阅读题目带说明.docx
- 文档编号:23716048
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:14
- 大小:16.95KB
c语言程序阅读题目带说明.docx
《c语言程序阅读题目带说明.docx》由会员分享,可在线阅读,更多相关《c语言程序阅读题目带说明.docx(14页珍藏版)》请在冰豆网上搜索。
c语言程序阅读题目带说明
阅读程序模拟题
1.下面程序执行结果是
#include<>
voidswap(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
#include<>*(求输入的单词数)
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
#include<>(求已输入数据的反置式子)
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;i<10;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=Iamateacher
char*b=Iamateacher
#include<>
voidcopy_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.下面程序的运行的功能是BASIC
Computer
FORTRAN
Followme
GreatWall
(按从小到大排列单词)
#include<>
#include<>
voidsort(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;i {k=i; for(j=i+1;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;i puts(name[i]); } 6.输入5回车后,下面程序的执行结果是120 #include<>(求阶乘) longintfac(int); voidmain() { intn; scanf("%d",&n); printf("%d\n",fac(n)); } longintfac(intm) { longintf; if(m<0) printf("dataerror! \n"); elseif(m==0||m==1) f=1; else f=fac(m-1)*m; returnf; } 7.下面程序执行的结果是: li3 Zhang3 Wang2 统计选票数量 输入如下数据: Li Zhang Li Li Wang Zhang Wang Zhang #include<> structperson { 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;j<3;j++) if(strcmp(leader_name,leader[j].name)==0) leader[j].count++; } for(i=0;i<3;i++) printf("%5s: %d\n",leader[i].name,leader[i].count); } 8.输入17,下面程序执行的结果是17isaprimenumber #include<>(判定一个数是不是是素数) #include<> voidmain() { intm,i,k; scanf("%d",&m); k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k) printf("%disaprimenumber\n",m); else printf("%disnotaprimenumber\n",m); } 9.下面程序执行的结果是 #include<> #include<> voidmain() { inta[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) { switch(abs(i-j)) { case0: if(i==0||i==2) a[i][j]+=3; else a[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 #include<> intfunc(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 #include<> voidmain() { FILE*fp; inti,k=0,n=0; fp=fopen("","w"); for(i=1;i<4;i++) fprintf(fp,"%d",i); fclose(fp); fp=fopen("","r"); fscanf(fp,"%d%d",&k,&n); printf("%d,%d\n",k,n); fclose(fp); } 12.以下程序执行后输出的结果是3个空格13个空格2 3个空格33个空格4 3个空格53个空格6 #include<> voidmain() { inta[2][3]={{1,3,5},{2,4,6}}; intb[3][2],i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { b[j][i]=a[i][j]; } } for(i=0;i<3;i++) { for(j=0;j<2;j++) printf("%4d",b[i][j]);(输出4列,不足的前头补空) printf("\n"); } } 13.假设输入的值是-75,以下程序的运行结果是-3*5*5 #include<>(求一个数的乘法分解) #include<> voidfun(int); voidmain() {intn; scanf("%d",&n); if(n<0)printf("-"); n=abs(n); fun(n); } voidfun(intx) { intk,r; for(k=2;k {r=x%k; while(r==0) { printf("%d",k); x=x/k; if(x>1)printf("*"); r=x%k; } } if(x! =1)printf("%d\n",x); } 14.以下程序的运行结果是4 #include<> #include<> structNODE { 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.输入,下面程序运行的结果是7531 #include<>(掏出数字中的奇数并组成新的数字) 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(s>0) { d=s%10; if(d%2! =0)(假设改成=0,那么输出数字中的偶数,并组成新的数字) { *t=d*s1+*t; s1*=10; } s/=10; } } 16.下面程序运行的结果13431 #include<> structNODE { 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;i<5;i++) printf("%d",m[i].k); printf("\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 阅读 题目 说明
![提示](https://static.bdocx.com/images/bang_tan.gif)