(21) 下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。請(qǐng)?zhí)羁铡?BR> #include <stdio.h>
#include <string.h>
main()
{ char a[]="clanguage",t;
int i, j, k;
k=strlen(a);
for(i=0; i<=k-2; i+=2)
for(j=i+2; j<=k; [27] )
if( [28] )
{ t=a[i]; a[i]=a[j]; a[j]=t; }
puts(a);
printf("\n");
}
(22) 以下程序的功能是:將無(wú)符號(hào)八進(jìn)制數(shù)字構(gòu)成的字符串轉(zhuǎn)換為十進(jìn)制整數(shù)。例如,輸入的字符串為:556,則輸出十進(jìn)制整數(shù)366。請(qǐng)?zhí)羁铡?BR> #include <stdio.h>
main()
{ char *p, s[6];
int n;
p=s;
gets(p);
n=*p-'0';
while( [29] !='\0')n=n*8+*p-'0';
printf("%d \n",n);
}
(23) 下列程序的輸出結(jié)果是 【30】 。
#include
main( )
{ char b[30],*chp;
strcpy(&b[0],"CH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s \n",b);
}
(24) 下列程序中字符串中各單詞之間有一個(gè)空格,則程序的輸出結(jié)果是 【31】 。
#include
main( )
{ char strl[]="How do you do", *p1=strl;
strcpy(strl+strlen(strl)/2,"es she");
printf("%s \n",pl);
}
(25) 若想通過(guò)以下輸入語(yǔ)句使a中存放字符串1234,b中存放字符5,則輸入數(shù)據(jù)的形式應(yīng)該是【32】
:
.
char a[10],b;
scanf("a=%s b=%c",a,&b);
:
.
(26) 下面程序的輸出結(jié)果是 【33】
char b[]="ABCD";
main()
{ char *chp;
for(chp=b; *chp: chp+=2) printf("%s",chp);
printf("\n");
(27) 以下程序輸出的是 【34】
main( )
{ int i=3, j=2;
char *a="DCBA";
printf("%c%c\n",a[i],a[j]);
}
(28) 函數(shù)fun的功能是:使一個(gè)字符串按逆序存放,請(qǐng)?zhí)羁?BR> void fun (char str[])
{ char m; int i,j;
for(i=0,j=strlen(str);i<【35】;i++,j--)
{ m=str[i];
str[i]=【36】;
str[j-1]=m;
}
printf("%s\n",str);
}
(29) 以下程序的功能是:從鍵盤(pán)上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串,請(qǐng)?zhí)羁铡?BR> #include"ctype.h"
#include"stdio.h"
main()
{ char str[81],*sptr;
int i;
for(i=0;i<80;i++)
{ str[i]=getchar();
if(str[i]=='\n') break;
}
str[i]=【37】;
sptr=str;
while(*sptr) putchar(*sptr【38】);
}
(30) 以下程序用來(lái)對(duì)從鍵盤(pán)上輸入的兩個(gè)字符串進(jìn)行比較,然后輸出兩個(gè)字符串中第一個(gè)不相同字符的ASCII碼之差。例如:輸入的兩個(gè)字符串分別為abcdef和abceef,則輸出為-1。請(qǐng)?zhí)羁铡?BR> #include
main()
{ char str[100],str2[100],c;
int i,s;
printf("\n input string 1:\n"); gest(str1);
printf("\n input string 2:\n"); gest(str2);
i=0;
while((strl[i]==str2[i]&&(str1[i]!=【39】))
i++;
s=【40】;
printf("%d\n",s);
}