a224.
明明愛明明
| From: [140.113.68.109] |
發表日期
:
2013-01-26 22:27
程式碼如下:
#include <stdio.h>
#include <ctype.h>
int main (){
char s[1002],a[1002];
int i,j,k,b[26];
while (fgets (s,1000,stdin)!='\0'){
for (i=0;i<26;i++) //b[26]就是A~Z的個別出現次數,先設定初始值0
b[i]=0;
j=0;
k=0;
for (i=0;s[i]!='\n';i++){ //當s[i]不等於\n,且如果s[i]是字母的話,把它轉成大寫給a[j],否則捨棄
if (isalpha(s[i])){
a[j]=toupper(s[i]);
j++;
}}
for (i=0;i<j;i++){ //總共有j個英文字,把這j個英文字的各別出現次數分配給b[0]~b[25](A~Z)
b[a[i]-65]++;
}
for (i=0;i<26;i++){ //如果A~Z出現奇數次,k+1
if (b[i]%2!=0)
k++;
}
if (k>1) //如果有大於1個以上出現奇數次的字母(k>1),那麼無法形成迴文
printf ("no...\n");
else printf ("yes !\n");
}
return 0;
}
為什麼RE呢?自己測試的時候都能跑出結果的....