#9750: 為神馬又WA了!???


u10350100 (惟)

學校 : 臺北市立麗山高級中學
編號 : 47178
來源 : [123.193.43.244]
最後登入時間 :
2015-12-05 09:06:58
a022. 迴文 | From: [123.193.6.79] | 發表日期 : 2015-03-29 11:38

#include<stdio.h>
#include<string.h>
 
int main()
{
    int i,len;
    char s[1000];
    while(scanf("%s",&s) !=EOF )
    {
        int yes=1;
        len=strlen(s);
        for(i=0;i<len;i++)
        {
            if(s[i]==s[len-1])
                    len--;
            else
            {
                yes=0;
                break;
            }
        }
        if(yes=1)
            puts("yes");
        else   
            puts("no");
    }
    return 0;
}
 
 

 
#10629: Re:為神馬又WA了!???


d2513850 (林勇智)

學校 : 崑山科技大學
編號 : 5102
來源 : [27.53.131.137]
最後登入時間 :
2024-11-17 10:12:31
a022. 迴文 | From: [219.68.155.168] | 發表日期 : 2016-01-12 21:54

#include<stdio.h>
#include<string.h>
 
int main()
{
    int i,len;
    char s[1000];
    while(scanf("%s",&s) !=EOF )
    {
        int yes=1;
        len=strlen(s);
        for(i=0;i<len;i++)
        {
            if(s[i]==s[len-1])
                    len--;
            else
            {
                yes=0;
                break;
            }
        }
        if(yes=1)
            puts("yes");
        else   
            puts("no");
    }
    return 0;
}
 
 
 

先讓yes變數初始化為0,因為yes變數當成重複旗標

然後把for迴圈內部的if條件改成這樣:
if(a[b]!=a[len-1-b]){
    yes=1;
    break;
}

另外for迴圈下方的if改成這樣,因為"if(yes=1)"會把yes變數變成1:

if(yes==0){
    printf("yes\n");
}else{
    printf("no\n");
}

 
ZeroJudge Forum