输入字符串s和t,将s中的连续号字符替换成t前面相同数量的字符(剩余的或字母删除),完成后输出s。
1.输入:
xyz****abc
123
输出:
xyz123abc
输入:xyz**abc*
123
输出:
xyz12abc1
输入字符串s和t,将s中的连续号字符替换成t前面相同数量的字符(剩余的或字母删除),完成后输出s。
1.输入:
xyz****abc
123
输出:
xyz123abc
输入:xyz**abc*
123
输出:
xyz12abc1
#include <stdio.h>
#define MAX_SIZE 128
int main()
{
char s[MAX_SIZE], t[MAX_SIZE], r[MAX_SIZE];
scanf("%s%s", s, t);
const char *p1 = s;
const char *p2 = t;
char *q = r;
while (*p1)
{
if (*p1 == '*')
{
do
{
if (*p2)
*q++ = *p2++;
} while (*++p1 == '*');
p2 = t;
}
else
{
do
{
*q++ = *p1++;
} while (*p1 && *p1 != '*');
}
}
*q = '\0';
printf("%s", r);
return 0;
}