#include<stdio.h>
#include<string.h>
#include<math.h>
int main () {
char s[1000],s1[1000];
int p[1000] = {0};
int a,judge = 0;;
while(scanf("%s",s) != EOF) {
a = 0;
for(int i = 0; i < 1000; i++) {
p[i] = 0;
}
for(int i = 0 ;i < strlen(s); i++) {
s1[i] = s[i];
}
for(int i = 0 ;i < strlen(s); i++) {
for(int j = 0; j < strlen(s); j++) {
if((s[i] == s1[j] ||abs(s[i] - s1[j]) == 32) && (s[i] >= 65 && s[i] <= 90 || s[i] >= 97 && s[i] <= 122)) {
p[i]++;
a++;
s1[j] = '1';
}
}
}
judge = 0;
if(strlen(s) % 2 == 0) {
for(int i = 0; i < a; i++) {
if(p[i] % 2 != 0) {
judge++;
}
}
if(judge >= 1) {
printf("no...\n");
} else {
printf("yes !\n");
}
}
if(strlen(s) % 2 == 1) {
for(int i = 0; i < a; i++) {
if(p[i] % 2 != 0) {
judge++;
}
}
if(judge > 1) {
printf("no...\n");
} else {
printf("yes !\n");
}
}
}
return 0;
}
每一次先把p[1000]都設0
s[]的字串複製到s1[]
最重要的就是判斷的部分 可以參考ascii碼+-32 那就直接利用abs出來要等於32
分成字串基偶數,基數的話只要所有值(a=3,b=2,c=3之類的)有2個以上是基數就是no
偶數部分也是相同道理