注册 登录
编程论坛 C++教室

将已按升序排好的两个字符串a和b中的字符按升序合并到字符串c中

书山压力不大 发布于 2021-05-29 21:25, 2195 次点击
程序代码:
完成下面程序,该程序将已按升序排好的两个字符串a和b中的字符按升序合并到字符串c中。
具体要求如下:点击“试题文件夹”按钮,使用VS2010打开项目,请在源程序中将“___”删除,并填入相应内容,调试程序。

#include <stdio.h>
#include <stdlib.h>
void main()
{
    char a[]="abdgikm",b[]="cefhjlnop",c[81];
    int i=0,j=0,k=0;
    /*************代码开始**********/
    while(a[i]!='\0'&&b[j]!='\0')
    {
         if(a[i]<b[j])______,i++;  //第1空
               else c[k]______,j++;  //第2空
                      k++;
    }
    while(a[i]!='\0') ______,i++,k++; //第3空
    while(b[j]!='\0') ______,j++,k++; //第4空
    c[k]=______;   //第5空
    /***********代码结束************/
    printf("%s\n",c);
    system("pause");
}

【注意】:源程序在文件BLANK1.C中,程序仅在/*****代码开始****//****代码结束****/之间的横线上需要填入内容,不允许增删语句。

1 回复
#2
apull2021-05-29 22:33
程序代码:

#include <stdio.h>
#include <stdlib.h>
void main()
{
    char a[]="abdgikm",b[]="cefhjlnop",c[81];
    int i=0,j=0,k=0;
    /*************代码开始**********/
    while(a[i]!='\0'&&b[j]!='\0')
    {
        if(a[i]<b[j])c[k]=a[i],i++;  //第1空
        else c[k]=b[j],j++;  //第2空
        k++;
    }
    while(a[i]!='\0') c[k]=a[i],i++,k++; //第3空
    while(b[j]!='\0') c[k]=b[j],j++,k++; //第4空
    c[k]='\0';   //第5空
    /***********代码结束************/
    printf("%s\n",c);
    system("pause");
}

1