用C语言编写,字符升序排列
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File
2、定义数组和变量:#include<stdio.h>main(){ char a[100], b[100], c[200], *p; int i = 0, j = 0, k = 0;
3、输入字符串: printf("please input string a:\n"); scanf("%s", a); /*输入字符串1放入a数组中*/
4、输入字符串: printf("please input string b:\n"); scanf("%s", b); /*输入字符串2放入b数组中*/
5、给字符串排序: while (a[i] != '\0' && b[j] != 刻八圄俏9;\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中后加结束符*/
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输出*/
7、完整的源代码:#inclu蟠校盯昂de<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输出*/}