#16910: 求救 測試WA(line: 1)


02320013apis@gmail.com (z16816810)

學校 : 國立臺灣大學
編號 : 88319
來源 : [140.112.241.124]
最後登入時間 :
2019-04-14 08:55:02
a224. 明明愛明明 | From: [140.112.241.124] | 發表日期 : 2019-02-19 09:51

我的程式碼丟到ideone 跑測試執行的數字答案會對

但直接丟到題目的測試執行 第一行就出錯 一樣的數字

您的答案為: no...
正確答案為: yes !

#include <stdio.h>
#include <string.h>

int main(void) {
  char word[1000];
  while(scanf("%s", word) != EOF){
    int length = strlen(word);
    int i;
    int odd = 0;

    for(i = 0; i < length; i++)
    if(isalpha(word[i]))
      word[i] = toupper(word[i]);
      int count[256] = {0};
      for(i = 0; i < length; i++){
        if(isalpha(word[i]))
          count[word[i]]++;
         }
      for(i = 0; i <= 256; i++){
        if(count[i] % 2 != 0)
          odd++;
       }
      if(odd == 1 || odd == 0)
        printf("yes !\n");
      else
        printf("no...\n");

  }
  return 0;
}

希望可以幫幫我 我找不到是哪裡出錯了 謝謝

 
#16913: Re:求救 測試WA(line: 1)


qqrainbow (愛蜜莉雅)

學校 : 國立嘉義高級中學
編號 : 83319
來源 : [36.238.5.68]
最後登入時間 :
2023-04-26 23:31:35
a224. 明明愛明明 | From: [1.173.140.80] | 發表日期 : 2019-02-19 20:58

測試執行有時候有問題,別輕易相信他

還有迴文不能用你的這種方法判斷

試試aabbc這組測資,答案應該是No,但是你的程式會輸出Yes

試試看這樣寫

for (int left = 0,right = strlen(s) - 1; left < right; left++, right--){

     if(...){

         ...

     }

}

 
ZeroJudge Forum