#include <iostream>
#include <string>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
using namespace std;
static bool isanagram(string a, string b);
int main(void)
{
int i,n,j,s;
cin >> n;
string a, b;
cin >> a >> b;
if(!isanagram(a,b)) cout << "False" << endl;
else cout << "True" << endl;
return 0;
}
static bool isanagram(string a, string b)
{
int i, j, size, s=0;
size = a.size();
bool k;
for(i=0;i<size;i++)
{
k=false;
for(j=0;j<size;j++)
{
if(a[i] == b[j]) { k = true; break; }
}
if(k==true) s+=1;
}
cout << a[2] << b[2] << endl;
if(s == size) return true;
else return false;
}
我不知道问题到底在哪里,所以我只是粘贴了整个代码。布尔功能问题 - 总是返回true?
它应该是一个简单的程序能够找到两个字符串是否是字谜,但它不工作,我不知道为什么。我在程序中使用了指针,所以认为可能是问题,并删除它们,我另外删除了其他东西,但仍然无法正常工作。如果你可以给它一个看看,并告诉我一些想法,我可能会出错我的代码?
预先感谢您。
如果您接受的答案多于目前为止的答案,人们可能会回答。 – Oded 2010-02-09 15:54:46
顺便说一句,如果第二个字符串比第一个字符串短,您的代码可能会崩溃。 – erelender 2010-02-09 15:57:44
这是一个数字,在你的情况下是0%,这意味着你没有接受任何你以前所有问题的答案。 – 2010-02-09 15:58:25