编写程序:从键盘输入两个字符串,找出其中没有同时出现在两个字符串中的字符。
例如:输入串1:abca 串2:bcd
输出:ad
在网上找过了,都不能通过测试例2
一楼的这个答案还不对
字符串是要手动输入的,不是定义的
追答void GetDiffChar( char* str1, char* str2, char* strOut)
{
const int nCout1 = strlen(str1);
const int nCout2 = strlen(str2);
for(int i=0; i<nCout1; i++)
{
char ch = str1[i];
for(int j=0; j<nCout2; j++)
{
if (str2[j] == ch)
{
str1[i] = 0xff; // mark
str2[j] = 0xff;
}
}
}
//out
int nOutIndex = 0;
for(int i=0; i<nCout1; i++)
{
if(((unsigned char)str1[i]) != 0xff)
{
strOut[nOutIndex++] = str1[i];
}
}
for(int i=0; i<nCout2; i++)
{
if(((unsigned char)str2[i]) != 0xff)
{
strOut[nOutIndex++] = str2[i];
}
}
}
int main(void)
{
char str1[100] = {0};
char str2[100] = {0};
printf("Please input the first string:");
scanf("%s", str1);
printf("Please input the second string:");
scanf("%s", str2);
char strOut[100] = {0};
GetDiffChar(str1, str2, strOut);
printf(strOut);
return 0;
}
我测试了,可以编译成功,但是什么都没输出啊,大神,求帮忙修改下
追答如果还不行,那大概就是编译器的不同了,我用的是vc++6.0
追问 我按照你的写进去,最后结果就这样了
不过还是很感谢你😊
追答你这什么编译环境?没见过啊
追问dev-c