Example_2
任务:合并两个升序字符串
思路:
在字符串均未出界的时候,比较大小,小的给第三个字符串。当有一个字符串走完最后一个字符的时候,把另一个字符串跟第三个字符串拼接即可。
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| #include <stdio.h> #include <string.h>
int main() { char a[20], b[20], c[40], * p;
printf("Please input string a:\n"); scanf("%s", &a); printf("Please input string b:\n"); scanf("%s", &b);
int i = 0; int k = 0; int j = 0; while (a[i] != '\0' && b[j] != '\0') { if (a[i] < b[j]) { c[k] = a[i]; i++; } else { c[k] = b[j]; j++; } k++; } c[k] = '\0'; if (a[i] == '\0') { p = b + j; } else { p = a + i; } strcat(c, p); puts(c); return 0; }
|