大佬写个小程序,第九题,c语言的,万分感谢
问题描述:
大佬写个小程序,第九题,c语言的,万分感谢
答
代码如下,如有帮助,请采纳,谢谢。
#include <stdio.h>
#include <string>
int main()
{
char* a = "abcdefg";
char* b = "efghijklmn";
int lena = strlen(a);
int lenb = strlen(b);
char* p = new char[lena+lenb + 1];
memset(p,0,lena + lenb + 1);
int i = 0;
int ai = 0;
int bi = 0;
while(ai < lena || bi < lenb)
{
if (ai < lena && bi < lenb)
{
if (a[ai] < b[bi])
{
p[i] = a[ai];
ai++;
i++;
}else
{
p[i] = b[bi];
bi++;
i++;
}
}else if (ai >= lena && bi < lenb)
{
p[i] = b[bi];
bi++;
i++;
}else if (ai <lena && bi >= lenb)
{
p[i] = a[ai];
ai++;
i++;
}else
break;
}
printf(">>%s",p);
delete[] p;
p = 0;
getchar();
getchar();
return 0;
}
答
#include <stdio.h>
int main(void)
{
char* a = "aabbccdefghhijklmnopppppqqqqqrsssttttuuuuvvvwxyz";
char* b = "abcdefggghijklmnooopppqrstxxxxyyyzzz";
char c[1024];
char* p = c;
while (*a || *b)
*p++ = (*a && (!*b || *a < *b)) ? *a++ : *b++;
*p = '\0';
printf("Merged sring: %s\n", c);
return 0;
}
// Output
Merged sring: aaabbbcccddeeffgggghhhiijjkkllmmnnooooppppppppqqqqqqrrsssstttttuuuuvvvwxxxxxyyyyzzzz