计算机二级在线答题

C语言每日一练(2015-11-16):下面程序的功能是从键盘上输入两个字符串,对两个字符串分别排序;然后将它们

2015年11月16日来源:计算机二级考试 所有评论

每日一练:计算机二级考试C语言每日一练(2015-11-16)
【填空题】下面程序的功能是从键盘上输入两个字符串,对两个字符串分别排序;然后将它们合并,合并后的字符串按ASCII码值从小到大排序,并删去相同的字符。
#include
strmerge(a,b,c) /* 将已排好序的字符串a、b合并到c */
char *a,*b,*c;
{ char t,*w;
w=c;
while( *a!= '\0' ① *b!='\0' )
{ t= ② ?*a++:*b<*a ? *b++ : ( ③ ); /* 将*a、*b的小者存入t */
if( *w ④ '\0' ) *w=t;
else if( t ⑤ *w) *++w=t; /* 将与*w不相同的t存入w */
}
while( *a != '\0' ) /* 以下将a或b中剩下的字符存入w */
if( *a != *w ) *++w=*a++;
else a++;
while( *b != '\0')
if( *b != *w ) *++w=*b++;
else b++;
*++w = ⑥ ;
}
strsort( char *s ) /* 将字符串s中的字符排序 */
{ int i,j,n;
char t,*w;
⑦ ;
for( n=0;*w != '\0'; ⑧ )
w++;
for( i=0;ifor( j=i+1;jif( s[i]>s[j] )
{ ⑨ }
}
main( )
{ char s1[100],s2[100],s3[200];
printf("\nPlease Input First String:");
scanf("%s",s1);
printf("\nPlease Input Second String:");
scanf("%s",s2);
strsort(s1);
strsort(s2);
⑩ = '\0';
strmerge(s1,s2,s3);
printf("\nResult:%s",s3);
}
在下面提交答题后即可查看答案与考友试题分析

发布评论 查看全部评论

相关推荐