【题目描述】
输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。
【输入】
输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。
【输出】
如果字符串是回文,输出yes;否则,输出no。
【输入样例】
abcdedcba【输出样例】
yes
【参考程序一】
使用字符数组
cin.getline()函数
【函数用法】
接收一个字符串并输出(可含空格)。
【参数详解】
1.cin.getline()函数的完整形式有三个参数:cin.getline(字符数组名,字符个数,结束标志)
注意:若指定参数“字符个数”为n,则利用cout函数输出时只显示字符数组中的前n-1个字符。
原因:字符数组的第n个字符是不可见字符'\0'
2.当第三个参数省略时,系统默认为'\0'
3.简单实例:
cin.getline(str,8,'m'),当输入abcdefghijklmn时,输出abcdefg,因为第8位是不可见字符'\0'
cin.getline(str,8,'e'),当输入abcdefghijklmn时,输出abcd
函数strlen()是C语言的提供的函数。
它包含在#include <string.h>这个头文件中,strlen函数接受的实参是一个字符串数组,返回值是字符串数组的长度,不包括空字符在内,返回的值是一个int类型的整数值。
#include<bits/stdc++.h>
using namespace std;
char str[101],out[101];
int main()
{
int len=0;
cin.getline(str,101);
len=strlen(str);
for(int i=0;i<len;i++)
{
out[i]=str[len-1-i];
}
for(int i=0;i<len;i++)
{
if(out[i]!=str[i])
{
cout<<"no"<<endl;
return 0;
}
}
cout<<"yes"<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
char str[101];
int main()
{
int len=0;
cin.getline(str,101);
len=strlen(str);
for(int i=0;i<len/2;i++)
{
if(str[i]!=str[len-1-i])
{
cout<<"no"<<endl;
return 0;
}
}
cout<<"yes"<<endl;
return 0;
}
【参考程序二】
reverse()函数
用来翻转数组,字符串,向量;
头文件:#include<algorithm>
reverse(s.begin(),s.end()); //翻转整个字符串
reverse(s.begin()+i,s.begin()+k); //翻转下标i到k(注意不包含k)
reverse(a,a+n);//n为数组长度 翻转整个数组
reverse(a+i,a+k);//翻转指定范围 下标为i到k(不包括k)
reverse(vect.begin(),vect.end());//写法和数组一样
" 三目运算符 " , 又称为 " 条件运算符 "
相当于一个简化版本的 if else 语句 ;
三目运算符语法 :condition ? expression1 : expression2
上面的 condition 必须是一个 返回布尔值 的表达式 , C 语言中一般是 int ;如果 condition 的值为 非零值 , 也就是 true , 则整个 三目运算符 表达式 返回 expression1 的值 ;
如果 condition 的值为 零值 , 也就是 false, 则整个 三目运算符 表达式 返回 expression2 的值 ;
#include<bits/stdc++.h>
using namespace std;
string str,out;
int main()
{
int len=0;
getline(cin,str);
out=str;
reverse(out.begin(),out.end());
if(str==out)
{
cout<<"yes"<<endl;
}
else{
cout<<"no"<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
string str,out;
int main()
{
int len=0;
getline(cin,str);
out=str;
reverse(out.begin(),out.end());//reverse函数可以用来反转字符串或者数组,需要包含头文件:#include<algorithm>
str==out?cout<<"yes":cout<<"no";
return 0;
}
标签:信息学,1146,奥赛,int,cin,str,字符串,getline,out From: https://blog.csdn.net/u014117969/article/details/136727996