【C++

【C++,第1张

题目描述

在C++中往往用string类代替字符数组char s[],使用更加方便

参考代码如下:

#include

#include

using namespace std;

int main()

{ string s; //定义一个字符数组,无需预先知道数组长度

cin>>s; //从键盘输入一行字符串,根据输入内容会自动确定数组长度

int len=s.length(); //获得字符串长度

cout<

cout<

cout<

cout<

return 0;

}

要求编写使用string完成一些字符串处理

输入

第1行输入t(大于1)表示有t个字符串

接着输入t行,每行输入一个字符串(不会包含空格)

输出

输出两行,一行输出最短字符串的前半段,一行输出最长字符串的后半段

无需考虑字符串长度相同的情况

字符串长度一半是向上取整

输入样例1

3
aabbccdd
123
a1b2c3

输出样例1

12
ccdd

#include 
#include 
using namespace std;

int main()
{
    int t;
    cin >> t;
    string arr[t];
    for (int i = 0; i < t; i++)
    {
        cin >> arr[i];
    }

    string strmax = arr[0]; //将数组的0号位定义为str长度最长的字符串,依次比较
    int max = strmax.length();
    for (int i = 1; i < t; i++)
    {
        if (arr[i].length() > max)
        { //如果某个字符串的长度比它大
            max = arr[i].length();
            strmax = arr[i];
        }
    }
    string strmin = arr[0];
    int min = strmin.length();
    for (int i = 1; i < t; i++)
    {
        if (arr[i].length() < min)
        {
            min = arr[i].length();
            strmin = arr[i];
        }
    }

    cout << strmin.substr(0, min / 2 + 1) << endl;
    cout << strmax.substr(max / 2, max - 1) << endl;

    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/564318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-03
下一篇 2022-04-03

发表评论

登录后才能评论

评论列表(0条)

保存