标题:字符串输入回车是怎么样的
取消只看楼主
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
结帖率:71.43%
 问题点数:0 回复次数:3 
字符串输入回车是怎么样的
输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到 大排列。

输入:
            两个已经排好顺序(升序)的两个字符串

输出:
            一个合并在一起的有序(升序)的字符串
要求:
示例: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;  
    }




但是有示例是
回车与一个数字

我的代码只是输出无结果
要求是输出那个数字
搜索更多相关主题的帖子: printf 字符串 for 输出 输入 
2019-11-15 20:58
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
得分:0 
回复 2楼 自学的数学
我的示例写错了
应该是输入12345
      23467
  输出1223344567
2019-11-17 14:25
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
得分:0 
回复 2楼 自学的数学
当输入为12345
     第二个数不输入,只是回车
  要求输出12345
但是我的程序不会输出12345
应该怎么改?

2019-11-17 14:28
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
得分:0 
回复 3楼 forever74
我会改了

2019-11-17 14:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497839-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.264228 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved