Description
定义MyString类,包括:
- 一个字符数组或字符指针,用于存储字符串内容。
- void input():读取一个不含空白符的字符串。
- void output():输出字符串。如果字符串不是回文串,则输出原串。如果是回文串,则仅输出前半部分。如:
原串:abccba,则输出abc
原串:abcdcba,则输出abcd
原串:abcd,则输出abcd
Input
第一行是整数N>0,表示之后有N个测试用例。每个测试用例占一行,是一个不含空白符的字符串。每个串不超过1000个字符。
Output
见样例。
Sample Input
4
abcdcba
abccba
abcdefgh
aaaaaaaa
Sample Output
abcd
abc
abcdefgh
aaaa
HINT
Append Code
append.cc,
int main()
{
MyString str;
int n, i;
cin>>n;
for (i = 0; i < n; i++)
{
str.input();
str.output();
}
return 0;
}
AC代码
#include <iostream>
using namespace std;
class MyString
{
private:
string str;
public:
void input(){cin>>str;}
void output()
{
int k=0;
for(int i=0;i<str.size();i++)
{
if(str[i]==str[str.size()-i-1])
k++;
}
if(k==str.size())
{
if(str.size()%2==0)
{
for(int i=0;i<str.size()/2;i++)
cout<<str[i];
cout<<endl;
}
else
{
for(int i=0;i<str.size()/2+1;i++)
cout<<str[i];
cout<<endl;
}
}
else
{
cout<<str<<endl;
}
}
};
int main()
{
MyString str;
int n, i;
cin>>n;
for (i = 0; i < n; i++)
{
str.input();
str.output();
}
return 0;
}
注意:
这里最好用string作为变量,因为string中有许多函数,可以供我们使用,比char*等灵活的多;