编写函数void mcpy(char str1,char *str2),其功能是查找字符串str1和str2中的第一组相同的字符,找到后,保留str1字符串中位于该字符之前部分(不包含该字符),和str2字符串中位于该字符之后的部分(不包含该字符),合并在一起存储在str1中并输出,如果str1和str2中没有相同的字符,则输出“无相同字符”。(要求:在主函数中输入字符串str1和str2,并输出原始字符串和修改后字符串
*例如:str1=”hello”,str2=”world”,则输出”hellrld”)**
http://blog.csdn.net/haiross/article/details/45746083
感觉题目限定太宽了,有多种答案的,这里针对你的例子提供一种可行的解法
#include "stdio.h"
#include "string.h"
void mcpy(char *str1,char *str2) {
for (int i=0; i<strlen(str2); i++) {
for (int j=0; j<strlen(str1); j++) {
if (str1[j]==str2[i]) {
i++;
for (; i<strlen(str2); i++,j++) {
str1[j]=str2[i];
}
str1[j++]='\0';
for (; j<strlen(str1); j++) {
str1[j]='\0';
}
printf("%s\n",str1);
return;
}
}
}
printf("无相同字符\n");
}
int main()
{
char * str1 = new char[105];
char * str2 = new char[105];
while (scanf("%s%s",str1,str2) != EOF) {
printf("%s %s\n",str1,str2);
mcpy(str1,str2);
}
return 0;
}