c语言阅读程序题 联系客服

发布时间 : 星期一 文章c语言阅读程序题更新完毕开始阅读

while(a[i]!='\\0' && ( 22 ) {if(a[i]==b[j]) {t=a[i];i++; ( 24 ); } else

if(a[i]

t=b[j++];

if(t!=c[k-1])

( 25 ) =t; 。 }

while(a[i])

if(a[i]!=c[k-1])

. c[k++]=a[i++]; else i++: while(b[j])

if(b[j]!=c[k-1])

c[k++]=b[j++]; else j++; e[k]='\\0';

return ( 26 ) ;

}

main()

{static char s1[10]=\,s2[10]=\,s3[20];int n; n=strmerge(sl,s2,s3); puts(s3); printf(\,n);

}

17.设某链表上每个结点的数据结构为 typedef struct node {int d;

struct node *next; }NODE;

函数NODE *invert(NODE *head)的功能是:将head指向的单链表逆置,即原链表最后一

个结点变为第一个结点,原来倒数第二个结点变成第二个结点,以此类推。在逆置过程中不建

立新的链表。

NODE *invert(NODE *head) {NODE *P,*q,*r;

if(head==0|| ( (27) ) return head; P=head; q=P->next;

while(q!=0)

{r= ( 28 ) ; q->next=p;p=q;q=r; }

( 29 ) =O;

head= ( 30 ) ; return head; }

(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 (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 ) 。 #define PT 3.14 #define S(x) PT*x*x main() ? {int a=2;

printf(\;

}

7.已知int型变量的存储字节数为2,以下程序运行时输出结果是( 7 )。 #include

main()

{int a=3,b=2,c=7,d=6,e=8;

long f=a*10000+b*1000+c*100+d*10+e; printf(\,f);

}

8.以下程序运行时输出结果是( 8 ) 。 #include main()

{char *P=\; if(P==\ printf(\; else

printf(\;

}

9.以下程序运行时输出结果是( 9 )。 #include #include

main()

{char *s=\; int k=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\\n\,k,a,b); }

10.以下程序运行时输出结果是(10) 。 #include

int f(int a[],int m,int b[],int n,int c[]) {int i,j,k=0,t; for(i=0;i

return k;

}

void main()

{int x[]={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;j

11.以下程序运行时输出结果是(11) void fun(int *p1,int *p2); main()

{int i,a[6]={1,2,3,4,5,6}; fun(a,a+5);

for(i=O;i<5;i++) printf(\,a[i]); }

void fun(int *pl,int *p2) {int t;

if(pl

{ t=*p1,*pl=*p2;*p2=t; fun(p1+=2,p2-=2); }

}

12.以下程序运行时输出结果的第一行是 ( 12 ) ,第二行是( 13 )。 void swap(int *a,int *b) {int c;

c=*a; *a=*b; *b=c; }

main()

{int i,j,a[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0:i<2:i++) for(j=0;j<2-i;j++)

if(i==j)

swap(&a[i][j],&a[i+2][j+2]); else

swap(&a[i][j],&a[i+1][j+1]); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(\,a[i][j]); printf(\; }

}

13.以下程序运行时输出结果的第一行是 ( 14 ) ,第二行是 ( 15 ) ,第三行是(16 )

提示:函数int toupper(int ch)的功能是:将小写字母字符转换为对应的大写字母字符。 #include #include

long fun(char *s)

{long n,sign,base=10,t; for(;isspace(*s);s++); sign=(*s=='-')?-1:1; if(*s=='+'||*s=='-')s++; if(*s=='0'&&s++) {if(*s=='x||*s=='X') {base=16;S++;} else

base=8;

}

for(n=0,t=1;t&&(isdigit(*s)||isalpha(*s));s++) switch(base)

{case 10:if(isdigit(*s)) n=n*base+*s-'0'; else t=0; break:

case 8:if(*s>='0'&&*s<='7')n=n*base+*s-'0'; else t=0: