沒人知道你的寫法(想法)。
不好意思,問得太急了..
我是先把輸入的內容屬於「字母」的挑出來,順便通通轉成小寫,
再去數字母的「個數」,奇數的字母超過一個就不能排出迴文。
#include <iostream>
using namespace std;
int main()
{
char a[1001];
while(cin >> a){
char b[1001];
int j=0;
for (int i=0;a[i]!='\0';++i){
if (a[i]>='a'&&a[i]<='z'){
b[j]=a[i];
j=++j;
}else if (a[i]>='A'&&a[i]<='Z'){
b[j]=a[i]-'A'+'a';
j=++j;
}
} //到這裡是先把輸入的內容屬於「字母」的挑出來,順便通通轉成小寫
if (b[0]=='\0'){
cout << "yes !" << endl;
}else{
int q=0;
for (char k='a';k<='z';++k){
int n=0;
for (int j=0;b[j]!='\0';++j){
if (b[j]==k){
n=n+1;
}
}
if (n%2==1){
q=++q;
}else{
q=q;
}
}
if (q<=1){
cout << "yes !" << endl;
}else{
cout << "no..." << endl;
}
} //到這裡是數字母的「個數」,奇數的字母超過一個就不能排出迴文
for (int j=0;b[j]!='\0';++j){
b[j]='\0';
} //這裡是清空陣列,準備下一次的輸入。
}
return 0;
}