用C语言编写,字符升序排列

2025-11-22 15:55:38

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File

用C语言编写,字符升序排列

用C语言编写,字符升序排列

2、定义数组和变量:

#include<stdio.h>

main()

{

    char a[100], b[100], c[200],  *p;

    int i = 0, j = 0, k = 0;

用C语言编写,字符升序排列

3、输入字符串:

    printf("please input string a:\n");

    scanf("%s", a);                                  /*输入字符串1放入a数组中*/

用C语言编写,字符升序排列

4、输入字符串:

    printf("please input string b:\n");

    scanf("%s", b);                                  /*输入字符串2放入b数组中*/

用C语言编写,字符升序排列

5、给字符串排序:

    while (a[i] != '\0' && b[j] != '\0')

    {

        if (a[i] < b[j])                                 /*判断a中字符是否小于b中字符*/

        {

            c[k] = a[i];                                 /*如果小于,将a中字符放到数组c中*/

            i++;                                    /*i自加*/

        }

        else

        {

            c[k] = b[j];                                 /*如不小于,将b中字符放到c中*/

            j++;                                    /*j自加*/

        }

        k++;                                        /*k自加*/

    }

    c[k] = '\0';                                         /*将两个字符串合并到c中后加结束符*/

用C语言编写,字符升序排列

6、链接字符串并输出:

    if (a[i] == '\0')                                    /*判断a中字符是否全都复制到c中*/

        p = b + j;                                  /*p指向数组b中未复制到c的位置*/

    else

        p = a + i;                                  /*p指向数组a中未复制到c的位置*/

    strcat(c, p);                                    /*将p指向位置开始的字符串连接到c中*/

    puts(c);                                        /*将c输出*/

用C语言编写,字符升序排列

7、完整的源代码:

#include<stdio.h>

main()

{

    char a[100], b[100], c[200],  *p;

    int i = 0, j = 0, k = 0;

    printf("please input string a:\n");

    scanf("%s", a);                                  /*输入字符串1放入a数组中*/

    printf("please input string b:\n");

    scanf("%s", b);                                  /*输入字符串2放入b数组中*/

    while (a[i] != '\0' && b[j] != '\0')

    {

        if (a[i] < b[j])                                 /*判断a中字符是否小于b中字符*/

        {

            c[k] = a[i];                                 /*如果小于,将a中字符放到数组c中*/

            i++;                                    /*i自加*/

        }

        else

        {

            c[k] = b[j];                                 /*如不小于,将b中字符放到c中*/

            j++;                                    /*j自加*/

        }

        k++;                                        /*k自加*/

    }

    c[k] = '\0';                                         /*将两个字符串合并到c中后加结束符*/

    if (a[i] == '\0')                                    /*判断a中字符是否全都复制到c中*/

        p = b + j;                                  /*p指向数组b中未复制到c的位置*/

    else

        p = a + i;                                  /*p指向数组a中未复制到c的位置*/

    strcat(c, p);                                    /*将p指向位置开始的字符串连接到c中*/

    puts(c);                                        /*将c输出*/

}

用C语言编写,字符升序排列

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢