1029: 【作】【入门】判断是否构成回文
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:55
解决:25
题目描述
输入一串字符,字符个数不超过100,且以"."结束。 判断它们是否构成回文。
输入
输入只有一行,包括一串字符.
输出
输出只有一行.TRUE 或者FALSE
样例输入 复制
12321.
样例输出 复制
TRUE
提示
s=input()
s=s[:-1]
if s==s[::-1]:
print('TRUE')
else:
print('FALSE')
C/C++提示:
判断对称位置的元素是否相等,只要有1个不等,就不是回文!
循环下标:i=0;i< (strlen(s)-1) / 2;i++归纳找出对称下标:
i=0-> strlen(s)-2
i= 1-> strlen(s)-3
归纳得知:
下标为i的元素,对称下标为strlen(s)-i-2的元素!
假设是回文,循环字符串长度一半,判断对称位置只要有一个元素不等,就不是回文!
#include<bits/stdc++.h>
using namespace std;
int main(){
char s[110];
int i;
bool r = true;//假设是回文
cin>>s;
//循环字符串实际长度的一半
for(i = 0;i<(strlen(s) - 1) / 2;i++){
//如果对称位置有一个元素不等,就不是回文
if(s[i] != s[strlen(s) - i - 2]){
r=false;
break;//停止循环
}
}
//判断是否是回文
if(r == true){
cout<<"TRUE"<<endl;
}else{
cout<<"FALSE"<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
for(int i=0;i<(s.size()-1)/2;i++) {
if (s[i]!=s[s.size()-2-i]) {
cout<<"FALSE";
return 0;
}
}
cout<<"TRUE";
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
for(int i=0,j=s.size()-2;i<j;i++,j--) {
if (s[i]!=s[j]) {
cout<<"FALSE";
return 0;
}
}
cout<<"TRUE";
return 0;
}