不完美的猫365 2022-04-10 10:06 采纳率: 66.7%
浏览 51
已结题

请问c++这个如何解,不知道怎么将一整个字符串三个三个划分

描述

回文单词句式是英文中很有趣的一种句式,这种句式的特点是对称位置的两个单词是相同的,例如abc def jkl def abc就是一个回文单词句式。现在请你判断一个句式是否是回文单词句式。

输入
输入首先包含一个正整数n,表示有n个需要判断的字符串。

接下来n行,每行包含一串包含若干个单词的字符串,每个单词之间用一个空格隔开,字符串总长度不超过1000。

输出
输出共n行,表示该字符串是否是回文句式,如果是则输出YES,否则输出NO。每个字符串的输出结果占一行。

输入样例 1

1
abc def jkl def abc
输出样例 1

YES

  • 写回答

3条回答 默认 最新

  • 关注

    读入一整行再判断是不是回文,或者每次读一个单词存起来直到读入回车结束

    img

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        string str;
        int flag=0,i,n;
        cin>>n;getchar();
        while(n--){
            getline(cin,str);
            vector<string> arr;
            istringstream ss(str);
            string word;
            while(ss>>word) {
                arr.push_back(word);
            }
            for(size_t i=0; i<arr.size()/2; i++){
                if(arr[i]!=arr[arr.size()-1-i]){
                    flag=1;
                    break;
                }
            }
            if(flag==0)
                cout<<"YES"<<endl;
            else
                cout<<"NO"<<endl;
        }
        return 0;
    }
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月10日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分