|
发表于 2023-11-24 18:00:24
|
显示全部楼层
本帖最后由 jackz007 于 2023-11-24 18:19 编辑
- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- char a[100001];
- while(1)
- {
- cin.getline(a,100001);
- char *p=a;
- int i,j,flag=1;
- if(strcmp(a,"2013")==0) return 0 ;
- i=0;
- j=strlen(a) ; // 记住这里 j = strlen(a)
- for(;i!=j;i++,j--)
- {
- if(a[i]==' ') i++;
- if(a[j]==' ') j--; // 所以,在首次循环中,a[j] 的值一定是 '\0'
- if(a[i]!=a[j]) // 所以,在首次循环中,a[i] != a[j] 一定成立!
- {
- flag=0; // 所以,在首次循环中,一定会得到否定的判断
- break;
- }
- }
- if(flag) cout<<"YES"<<endl;
- else cout<<"NO"<<endl;
- }
- }
复制代码
修改了一个版本,供楼主参考:
- #include<bits/stdc++.h>
- using namespace std ;
- int main()
- {
- char a[100001] ;
- int i , j , flag ;
- for(;;)
- {
- cin . getline(a , 100001) ;
- if(! strcmp(a , "2013")) break ;
- for(i = 0 , j = strlen(a) , flag = 1 ; i < j ; i ++ , j --)
- {
- if(a[i] != a[j - 1])
- {
- flag = 0 ;
- break ;
- }
- }
- if(flag) cout << "YES" << endl ;
- else cout << "NO" << endl ;
- }
- cout << "Bye-Bye!" << endl ;
- }
复制代码 |
|