当前位置:首页 > c语言阅读程序题
阅读程序题(共13分)
6.以下程序运行时输出结果是 (6 ) 。 #include
{printf(\,NN);}
7.以下程序运行时输出结果是 (7) 。 #include
{char a=256: int d=a;
prinff(\,d+1);
} 、
8•有如下程序,假定所用编译系统用两个字节存储一个int型操作数,已知输出结果第一行是FFD2,则第二行应当是( 8)
main()
{int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
P=&a[5];
printf(\,p);printf(\
9•以下程序运行时输出结果的第一行是(9) ,第二行是(10)。 int C:
void fl(int x,int *sum) {static int y;
x++;y++;c=c+y; *sum=(x+y)/c; }
main()
{int a,b=100:
for(a=O;a<2;a++)
{f1(a,&b);printf(\,a,b,c)} ,
10.以下程序运行时输出结果的第一行是___(11)_______,第三行是______(12)__________
#include
void mat_change(int b[4][4]) {int i,j,m,n,k,c[6][6]; for(i=0;i<6;i++)
for(j=0;j<6;j++) c[i][j]=1; for(i=1;i<5;i++)
for(j=1;j<5;j++) c[i][j]=b[i-1][j-1];
for(i=1;i<5;i++) for(j=1;j<5;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;i<5;i++) for(j=1;j<5;j++) b[i-1][j-1]=c[i][j]; }
main()
{int i,j,a[4][4]={{0,1},{1,1,1,l},{0,1,0,1},{0,1,1,1}}; mat_change(a);
for(i=0;i<4;i++) .
{for(j=0;j<4;j++)printf(\,a[i][j]); printf(\; }
}
11.以下程序运行时输出结果是(13) 。 #include
void f(int a[],int n,int x,int *c);
main()
{int a[10]={1,3,5,2,3,5,3,7,4,1},t=0; f(a,10,5,&t);printf(\,t); }
void f(int a[],int n,int X,int *c) {if(n==0)return; if(a[O]>=x)(*c)++;
f(a+1,n-1,x,c); }
12.以下程序运行时输出结果的第一行是 (14) ,第二行是(15) ,第三行是(16) #include
int index; int value; }M;
main()
{static int i,j,k,c[4][4];
M a[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;i<4;i++) {
for(j=0;j<4;j++) printf(\,c[i][j]); printf(\
} }
13.以下程守运行时输出结果的第一行是__(17)______ ,第二行是____(18)________ 。
void q(char *s,int left, int right) { int i,j;
char x,y;
i=left; j=right;
x=s[(1eft+right)/2]; do
{while(s[i]>x&&i
}while(i<=j); }
main()
{char strl[6]=\,str2[7]=\; q(strl,0,4);puts(strl);
q(str2,1,4);puts(str2);
}
●完善程序题(共12分) 7
14.如果一个两位整数是质数,将组成它的两个数字交换位置后形成的整数仍为质数,则称这
样的数为绝对质数。例如,13就是一个绝对质数。以下程序用于找出所有两位绝对质数。
#include
m[1]= _____(19)_______ ; for(j=0;j<2;j++)
for(k=m[j]/2;k>1;k--) if( (20) )return 0; return 1; }
main() {int i;
for(i=10;i<100;i++)
if(a_prime(i))printf(\,i);
} 20 i
15.计算∑ ∑n!的值,即求(1!)+(1!+2!)+(1!+2!+3!)+…+(1!+2!+3!+…+20!) i=1 n=1
main()
{int i,n;double s=0,t;
for(i=1;i<=20;i++)
{ ________(21)__________ ;
for(n=1;_____(22)___________ ;n++) { t=t*n;s=s+t;}
}
printf(\\\n\,s); } .
16.以下程序中函数strmerge的功能是:合并a和b两个有序的字母字符串(字典序)而产生一
个新的字符串,在合并的过程中删除重复出现的字符,合并后的字符串仍然保持原序并保
存到c指向的数组中,函数返回在合并过程中删除的字符个数。main函数中输出合并后
的字符串“copy”以及在合并过程中删除的字符个数3。 include
int strmerge(char *a,char *b,char *c) {int i=0,j=0,k=O;char t;
共分享92篇相关文档