计蒜客A1003 顺序合并两个非有序的链表

计蒜客A1003 顺序合并两个非有序的链表
给定由整数组成的两个无序数组,根据顺序合并成一个数组。

输入包括两行,每行由若干个由->分隔的整数组成,分别表示以最左整数为链表头,单向指向右侧节点的链表,每行输入均以 .结尾。

输出为合并后的单向链表,由->表示其间的指针,最终指向由NULL表示的空值。

在合并过程中,比较两个链表当前待合并的第一个元素,选择其中较小的那个元素放入合并后的数组。 输入格式 输入两行字符串,每行字符串由 有符号整数、->和.组成。 输出格式 输出一行字符串,表示合并后的数组。

样例输入
1->2->3.
1->0->2.

样例输出
1->1->0->2->2->3->NULL

#include<stdio.h>
#include<string.h>
int main()
{
 char a[100],b[100];
 int j=0;
 int k=0;
    while(1){
        scanf("%c",&a[j]);
      if(a[j]=='.'){
       break;
      }
      j++;
     }
    while(1){
     scanf("%c",&b[k]);
      if(b[k]=='.'){
       break;
      }
      k++;
     }
     
    if('a[0]'<='b[0]'){           //注意这里因为是字符的比较,因此要加上引号
     printf("%c->",a[0]);
     for(int l=0;l<k;l++){       //这里就是不知道为什么在输出首字符的时候会出现转行
      printf("%c",b[l]);            //表示头大,这个也是与案例不一样的地方
     }
     for(int m=1;m<j;m++){
      printf("%c",a[m]);
     }
     printf("->NULL");
    }
    else{
     printf("%c->",b[0]);
     for(int l=0;l<j;l++){
      printf("%c",a[l]);
     }
     for(int m=1;m<k;m++){
      printf("%c",b[m]);
     }
     printf("->NULL");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值