#28654: 卡line:2 使用c


tony3318257@gmail.com (12344)

學校 : 國立南科國際實驗高級中學
編號 : 121964
來源 : [122.121.222.56]
最後登入時間 :
2023-06-23 03:39:26
a224. 明明愛明明 | From: [163.26.206.202] | 發表日期 : 2021-12-24 00:29

不知道為甚麼測資2過不了。自己測能測的都可以過。

另外問空字串如何輸入?

看大家的解法跟我的好像差很多

 

#include<stdio.h>

#include<string.h>

int main(){

char str[1003]={0};

char str1[1003]={0};

while(scanf("%s",str)!=-1)

{

int j=0;

int fail=0;

int len=strlen(str);

for(int i=0;i<len;i++)//將字串全部轉成剩英文 

{

 

if(str[i]>=65&&str[i]<=90)

{

str1[j]=str[i]+32;

j++;

}

else if(str[i]>=97&&str[i]<=122)

{

str1[j]=str[i];

j++;

}

}

//faafaavava

len=strlen(str1)-1;

if(len==0)//只有一個字母 

{

printf("yes !\n");

}

else if(len==-1)//沒有字母 

{

printf("no...\n");

}

else//判斷是否為迴文 

{

if(len%2==0)//基數的情況 

{

for(int i=0,j=len;i<=(len/2)-1;i++,j--)

{

if(str1[i]!=str1[j])

{

fail=1;

break;

}

}

}

else

{

for(int i=0,j=len;i<=(len+1)/2-1;i++,j--)//偶數的情況 

{

if(str1[i]!=str1[j])

{

fail=1;

break;

}

}

}

if(fail==1)

{

printf("no...\n");

}

else if(fail==0)

{

printf("yes !\n");

}

}

for(int i=0;i<=1002;i++)//將字串清空 

{

str[i]=0;

str1[i]=0;

}

}

return 0;

}

 
#28666: Re:卡line:2 使用c


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
a224. 明明愛明明 | From: [110.26.106.85] | 發表日期 : 2021-12-25 09:29

不知道為甚麼測資2過不了。自己測能測的都可以過。

另外問空字串如何輸入?

看大家的解法跟我的好像差很多

 

#include

#include

int main(){

char str[1003]={0};

char str1[1003]={0};

while(scanf("%s",str)!=-1)

{

int j=0;

int fail=0;

int len=strlen(str);

for(int i=0;i<len;i++)//將字串全部轉成剩英文 

{

 

if(str[i]>=65&&str[i]<=90)

{

str1[j]=str[i]+32;

j++;

}

else if(str[i]>=97&&str[i]<=122)

{

str1[j]=str[i];

j++;

}

}

//faafaavava

len=strlen(str1)-1;

if(len==0)//只有一個字母 

{

printf("yes !\n");

}

else if(len==-1)//沒有字母 

{

printf("no...\n");

}

else//判斷是否為迴文 

{

if(len%2==0)//基數的情況 

{

for(int i=0,j=len;i<=(len/2)-1;i++,j--)

{

if(str1[i]!=str1[j])

{

fail=1;

break;

}

}

}

else

{

for(int i=0,j=len;i<=(len+1)/2-1;i++,j--)//偶數的情況 

{

if(str1[i]!=str1[j])

{

fail=1;

break;

}

}

}

if(fail==1)

{

printf("no...\n");

}

else if(fail==0)

{

printf("yes !\n");

}

}

for(int i=0;i<=1002;i++)//將字串清空 

{

str[i]=0;

str1[i]=0;

}

}

return 0;

}


你沒有重新安排順序

 
ZeroJudge Forum