39 条题解

  • 60
    @ 2023-3-11 11:18:06

    AC代码

    难度:简单,代码和思路在下面,仅供参考~

    Difficulty:easy,code and ideas are here,for reference only~

    ------>>>目录<<<------

    • 思路
    • AC代码

    1.思路

    这个要是不会的话建议康康课程

    核桃编程L9-2章节《字符串的长度》第01:00分钟

    简单介绍一下函数

    s.size(): s的字符串长度

    s.substr(a,b): 从s下标为a的字符开始,长度为b的子串

    2.AC代码

    #include <iostream>
    using namespace std;
    string s,s1,s2;//s是输入的字符串,s1是前半段,s2是后半段
    int n;//n是字符串长度
    int main()
    {
        cin >> s;//输入
        n = s.size();//把s的字符串长度存在n里
        s2 = s.substr(n / 2,n / 2);//把s的后半段存在s2
        s1 = s.substr(0,n / 2);//s的前半段存s1
        cout << s2 << s1 << endl;//互换输出
        return 0;
    }
    

    编码不易 😕

    点赞走起 😄

    记得点赞再抱走哦~ ❤️❤️❤️

    The encoding is not easy

    you can support me

    remember to praise and refer to it~

    • @ 2023-8-16 19:17:30

      抱一丝哦😄 ,我点个赞食用s1s2咯

  • 11
    @ 2023-7-31 20:52:36

    yasuo👀️

    大佬666,有必要这么复杂吗

    #include <iostream>
    int main(){
        std::string q;std::cin>>q;int s=q.length();
        for(int i=0;i<s/2;i++) std::swap(q[i],q[s/2+i]);
        std::cout<<q;return 0;}
    
    • 8
      @ 2023-5-20 18:50:53

      思路:直接前后分割,倒过来输出 代码如下:

      #include <iostream>
      using namespace std;
      void xp(string s)
      {
          int n = s.size();
          string s1=s.substr(0,n/2);
          string s2=s.substr(n/2,n/2);
          cout<<s2<<s1;
      }
      int main()
      {
          string s;
          cin >> s;
          xp(s);
          return 0;
      }
      

      点赞再抱走哦~

      • 6
        @ 2023-10-14 18:54:39

        整体简单,只要掌握“size”和“substr”即可

        #include <iostream>
        using namespace std;
        string s,s1,s2;
        int n;
        int main()
        {
            cin >> s;
            n = s.size();//获得字符串的长度
            s1 = s.substr(0,n / 2);
            s2 = s.substr(n / 2,n / 2);//主要计算公式,用法为:字符串名.substr(起始下标,截取长度);
            cout << s2 << s1;
            return 0;
        }
        
        • 6
          @ 2023-10-13 21:37:29

          C2每课一题解(第二课 第一题)!!!

          此题还算简单,只需用上节课的知识——递归 和这节课的知识——substr函数。

          substr函数可以取一个字符串的子串。用法是:字符串名.substr(子串起始值,子串值长度)。

          话不多说,上代码!

          AC Code

          #include<bits/stdc++.h>
          using namespace std;
          int main()
          {
              string a;
              cin>>a;
              int n=a.size();//size=length函数
              string a1=a.substr(0,n/2);//求子串1
              string a2=a.substr(n/2,n/2);//求子串2
              cout<<a2<<a1;//倒序输出
              return 0;
          }
          
          • 4
            @ 2023-8-4 20:49:35
            #include <bits/stdc++.h>
            using namespace std;
            int main()
            {
                string s;
                cin >> s;
                int n = s.size();
                string s2 = s.substr(n / 2,n / 2);
                string s1 = s.substr(0,n / 2);
                cout << s2 << s1 << endl;
                return 0;
            }
            
            • 3
              @ 2024-3-9 11:16:58

              这个只要会导入头文件和会用substr()和size()就可以了。

              首先介绍substr()和size()的用法: subster()的括号内填入两个数,一个是起始数,一个是结束数,用英文逗号隔开,前面要加个前缀,表示要分割的string变量。 size()就更简单了,负责计算前缀中string变量的字符个数。 因此只要用substr()把前半段(设一开始得到的变量名为n,括号内填写的就是“0,n.size()/2”)和后半段(n.size/2,n.size(),这里的排序取最前不取最后,从零开始)分别赋值给两个string的变量就可以了。 代码AC已过,安心食用

              #include<bits/stdc++.h>
              using namespace std;
              string n,a,b;
              int main(){
              cin>>n;
              a=n.substr(0,n.size()/2);b=n.substr(n.size()/2,n.size());
              cout<<b<<a;
              }
              
              • 3
                @ 2024-1-20 16:40:39

                ``泰简单辣😄

                #include <iostream>
                using namespace std;
                string exchange (string s)
                {
                    int n = s.size();
                    string s1 = s.substr (0, n/2);
                    string s2 = s.substr (n/2, n/2);
                    return s2+s1;
                }
                int main()
                {
                    string s;
                    cin >> s;
                    cout << exchange(s);
                }
                
                • 3
                  @ 2024-1-6 17:05:07
                  #include <iostream>
                  #include <bits/stdc++.h>
                  #include <stdio.h>
                  #include <iomanip>
                  using namespace std;
                  string s,s1,s2;
                  int n;
                  int main()
                  {
                     cin >> s;
                     n = s.size();
                     s2 = s.substr(n / 2, n / 2);
                     s1 = s.substr(0, n / 2);
                     cout << s2 << s1 << endl;
                     return 0;
                  }
                  
                  • 3
                    @ 2023-8-20 21:10:49
                    #include <iostream>
                    using namespace std;
                    string s;  
                    int main()
                    {
                        cin>>s;
                        int n = s.size();
                        string s1=s.substr(0,n/2);
                    	string s2=s.substr(n/2,n/2);    //计算公式
                        cout<<s2<<s1;
                    } 
                    
                    • 3
                      @ 2023-8-8 16:22:14

                      首先考虑一下,分成两段然后颠倒,我们先找到这两段从哪里分开:总长的一半(除以二) 接下来分别从1到分开点,分开点到最后进行遍历,调整顺序输出就可以了

                      定义a
                      输入a
                      遍历从a的长度除以二到结束(后一半的位置)
                              输出这个字符
                      遍历从1到a的长度除以二(前一半的位置)
                               输出这个字符
                      

                      还可以直接用substr(起始坐标,长度),size()来做,更简单一些

                      • 2
                        @ 2024-3-3 12:34:56

                        这个题解写的我很郁闷。 不是,这跟递归有啥关系?(更加郁闷) 别管咋样,代码还是得上的,思路啥的,你都清楚。

                        n=s.size()//n是字符串长度,s是字符串
                        string s1,s2;//定义前一段和后一段
                        s1=substr(0,n/2);//初始化
                        s2=substr(n/2,n/2);
                        cout << s2 << s1 << endl;//交换输出
                        

                        核心代码只有五行,就是弄个前半段和后半段,再交换输出。

                        • 2
                          @ 2023-11-4 18:48:09

                          这题是一道简单题 首先我们就创建一个字符串,然后用substr截取字符串,再分别遍历字符串输出即可 AC代码 image

                          • 2
                            @ 2023-8-5 21:35:57
                            #include <bits/stdc++.h>//题解由hetao1098709提供,禁止Ctrl+c和ctrl+v。
                            using namespace std;
                            
                            int main()
                            {
                                string zhenwuyu;
                                string zhewuyu1,zhenwuyu2;
                                int s;
                                cin>>zhenwuyu;
                                s=zhenwuyu.size();
                                zhenwuyu1=zhenwuyu.substr(0,s/2);
                                zhenwuyu2=zhenwuyu.substr(s/2,s/2);
                                cout<<zhenwuyu2<<zhenwuyu1;
                            }//题目还是比较简单的,考察的是对substr函数的运用,注意格式为l.substr(x,x)(x为一个参数,l为一个变量)。需要用到size()函数,格式:l.size()
                            //我觉得我解释的已经很清楚了,已经清楚到你可以自己写了
                            
                            • 2
                              @ 2023-8-4 19:29:07

                              image

                              👆🏼主函数部分👆🏼

                              主要的是要学会substr语句

                              语句格式:字符串名.substr(起始下标,子串长度)

                              • 2
                                @ 2023-8-4 19:19:21
                                #include<bits/stdc++.h>
                                using namespace std;
                                string s , s1 , s2;
                                int n;
                                int main()
                                {
                                    cin >> s;
                                	n = s.size() / 2;
                                	s1 = s.substr(0, n);
                                	s2 = s.substr(n, n);
                                	cout << s2 << s1 << endl;
                                    return 0;
                                }
                                
                                
                                
                                
                                • 1
                                  @ 2024-3-2 22:15:52
                                  #include <bits/stdc++.h>
                                  using namespace std;
                                  string s,s1,s2;//s1是前半段,s2是后半段
                                  int n;
                                  int main()
                                  {
                                      cin >> s;
                                      n = s.size();//把s的字符串长度存在n里
                                      s2 = s.substr(n / 2,n / 2);//把s的后半段存在s2
                                      s1 = s.substr(0,n / 2);//s的前半段存s1
                                      cout << s2 << s1 << endl;//互换输出
                                      return 0;
                                  }
                                  
                                  • 1
                                    @ 2024-2-26 19:36:32

                                    以AC

                                    #include <bits/stdc++.h>
                                    using namespace std;
                                    string exchange (string s)
                                    {
                                        int n=s.size();
                                        string s1=s.substr(0, n/2);
                                        string s2=s.substr(n/2, n/2);
                                        return s2+s1;
                                    }
                                    int main()
                                    {
                                        string s;
                                        cin>>s;
                                        cout<<exchange(s);
                                    }
                                    
                                    </span>
                                    • 1
                                      @ 2023-11-26 20:36:10
                                      #include <bits/stdc++.h>
                                      using namespace std;
                                      int main()
                                      {
                                          string s;
                                          int n;
                                          cin>>s;
                                          n=s.size();
                                          string s1=s.substr(0,n/2);
                                          string s2=s.substr(n/2,n/2);
                                          cout<<s2<<s1;
                                          return 0;
                                      }
                                      
                                      • 1
                                        @ 2023-8-4 21:44:54

                                        首先科普一下: substr函数调用法则:该调用字符串.substr(起始坐标,长度); n为s的大小s.size() substr得到的返回值为起始坐标起该长度的字符串 上代码:

                                        #include <bits/stdc++.h>
                                        using namespace std;
                                        int main(){
                                            int n;
                                            string s;
                                            cin>>s;
                                            n=s.size();
                                            cout<<s.substr(n/2,n/2)<<s.substr(0,n/2)<<endl;
                                            return 0;
                                        }
                                        

                                        信息

                                        ID
                                        8
                                        时间
                                        1000ms
                                        内存
                                        256MiB
                                        难度
                                        4
                                        标签
                                        递交数
                                        4825
                                        已通过
                                        2137
                                        上传者