字符串输入回车是怎么样的
输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到 大排列。输入:
两个已经排好顺序(升序)的两个字符串
输出:
一个合并在一起的有序(升序)的字符串
要求:
示例:123456
45789
输出:1236
我的代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
char a[100],b[100],h[100];
int i1,i2,i3;
gets(a);
gets(b);
// puts(a);
// puts(b);
i1=0;
i2=0;
i3=0;
int s1,s2,k1;
s1=strlen(a);
s2=strlen(b);
if(a[0]!='\n'&&b[0]!='\n'){
do{
if(a[i1]<=b[i2]){
h[i3]=a[i1];
i3++;
i1++;
}
else{
h[i3]=b[i2];
i3++;
i2++;
}
} while(a[i1]!='\0'&&b[i2]!='\0');
if(i1==s1&&i2==s2){
for(k1=0;k1<i3;k1++){
printf("%c",h[k1]);
}
printf("\n");
}
if(i1==s1&&i2!=s2){
for(k1=0;k1<i3;k1++){
printf("%c",h[k1]);
}
for(i2=i2;i2<s2;i2++){
printf("%c",b[i2]);
}
printf("\n");
}
if(i2==s2&&i1!=s1){
for(k1=0;k1<i3;k1++){
printf("%c",h[k1]);
}
for(i1=i1;i1<s1;i1++){
printf("%c",a[i1]);
}
printf("\n");
}
}
else if(a[0]=='\n'){
for(i1=0;i1<s2;i1++){
printf("%c",b[i1]);
printf("\n");
}
}else{
for(i1=0;i1<s1;i1++){
printf("%c",a[i1]);
printf("\n");
}
}
return 0;
}
但是有示例是
回车与一个数字
我的代码只是输出无结果
要求是输出那个数字