当前位置:首页 > 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
{char *P=\; if(P==\ printf(\; else
printf(\;
}
9.以下程序运行时输出结果是( 9 )。 #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 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:
共分享92篇相关文档