39 条题解

  • 1
    @ 2023-8-4 18:48:18

    hihihi,雾来~~~

    
    

    #include <iostream> #include <string> using namespace std; void swapHalves(string& cards){ int n = cards.size(); int half = n / 2; for (int i = 0; i < half; i++){ swap(cards[i], cards[i + half]); } } int main(){ string cards; cin >> cards; swapHalves(cards); cout << cards << endl; return 0; }

    
    
    • 1
      @ 2023-7-25 14:43:42

      -题目回顾-

      桌子上有n纸张牌排成一行(n一定是偶数),每张牌上都印着一个大写字母,请你编写程序,把前一半纸牌和后一半纸牌互换。

      比如,假设有四张纸牌ABCD,那么互换后的结果是CDAB。

      实际上就是要求把长度为n的字符串从中间斩开,然后把前面的拼到后面

      所以就可以用 substr(a, b)函数 AC代码如下:

      #include <bits/stdc++.h>//by AGOMG
      using namespace std;
      string s, s1, s2;
      int n;//定义全局变量,我习惯在这里定义,看个人喜好
      int main()
      {
          cin >> s;
          n = s.size() / 2;//切割长度
          s1 = s.substr(0, n);//回顾:substr()函数前一个数字表示切割开始的下标,后一个数字表示切割长度
          s2 = s.substr(n, n);
          cout << s2 << s1 << endl;//输出
      }
      
      • 1
        @ 2023-6-24 11:24:50

        局部代码如下:

        string s1=x.substr(0,x.length()/2),s2=x.substr(x.length()/2,x.length()/2);
        cout<<s2<<s1;
        

        int x;cin>>x;别忘了如导入的是iostream库 在前面加一句:

        #include <string>
        

        导入万能库就不用

        • 0
          @ 2024-6-14 15:32:58

          我这样写是不是太LOW了?

          #include<bits/stdc++.h>
          using namespace std;
          int main(){
          	string s;
          	cin>>s;
          	for(int i=s.size()/2;i<s.size();i++){
          		cout<<s[i];
          	} 
          	for(int i=0;i<s.size()/2;i++){
          		cout<<s[i];
          	}
          	return 0;
          }
          
          
          • 0
            @ 2024-5-26 15:45:58

            这是一个题解

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

            只要掌握substr函数即可做出

            求赞

            • 0
              @ 2024-5-26 15:40:38
              #include<bits/stdc++.h>
              using namespace std;
              int main(){
                  string s;
                  cin >> s;
                  int n=s.size();
                  cout << s.substr(n/2,n/2);
                  cout << s.substr(0,n/2);
                  return 0;
              }
              
              
              • 0
                @ 2024-5-26 15:39:21
                #include<bits/stdc++.h>
                using namespace std;
                int main(){
                    string s;
                    cin >> s;
                    int n=s.size();
                    cout << s.substr(n/2,n/2);
                    cout << s.substr(0,n/2);
                    return 0;
                }
                
                • 0
                  @ 2024-5-18 16:58:05
                  #include<bits/stdc++.h>
                  using namespace std;
                  int main(){
                      string s;
                      cin >> s;
                      int n=s.size();
                      cout << s.substr(n/2,n/2);
                      cout << s.substr(0,n/2);
                      return 0;
                  }
                  难度:简单
                  

                  求赞………………

                  • 0
                    @ 2024-5-3 21:43:56

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

                    • 0
                      @ 2024-3-27 21:31:57

                      表格

                      代码

                      先上表格

                      交换前 交换后
                      ABCD CDAB
                      123456 456123

                      再上代码

                      #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;
                      }
                      

                      已AC

                      • 0
                        @ 2024-3-3 14:57:42
                        #include <iostream>
                        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;
                        }
                        
                        
                        
                        • 0
                          @ 2023-10-20 19:28:29

                          太简单了 只要用size,substr AC CODE

                          #include <bits/stdc++.h>
                          using namespace std;
                          string s,s1,s2;
                          int n;
                          signed main()
                          {
                              cin >> s;
                              n = s.size();
                              s1 = s.substr(0,n / 2);
                              s2 = s.substr(n / 2,n / 2);//s.substr(起始下标,截取长度)
                              cout << s2 << s1;
                              return 0;
                          }
                          
                          • 0
                            @ 2023-5-28 12:49:51

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

                            • 0
                              @ 2023-5-20 21:25:15

                              题目要求将给定字符串的前一半和后一半进行互换。为了实现这个操作,我们可以定义一个函数 swapHalves,该函数接受一个字符串作为参数,并通过交换前一半和后一半的字符实现纸牌的互换。

                              在函数内部,我们首先计算字符串的长度 n,然后找到中间位置 half,即前一半的末尾位置。接下来,我们使用一个循环遍历前一半的字符,并将每个字符与后一半对应位置的字符进行交换,实现互换操作。

                              main 函数中,我们首先读取输入的纸牌字符串 cards。然后,我们调用 swapHalves 函数,将其传入纸牌字符串进行互换操作。最后,我们输出互换后的结果。

                              这样,我们就完成了题目要求的操作,将给定字符串的前一半和后一半进行互换,并输出互换后的结果。


                              代码如下

                              #include <iostream>
                              #include <string>
                              using namespace std;
                              
                              void swapHalves(string& cards) {
                                  int n = cards.size();
                                  int half = n / 2;
                                  for (int i = 0; i < half; i++) {
                                      swap(cards[i], cards[i + half]);
                                  }
                              }
                              
                              int main() {
                                  string cards;
                                  cin >> cards;
                              
                                  swapHalves(cards);
                              
                                  cout << cards << endl;
                              
                                  return 0;
                              }
                              
                              
                              • 0
                                @ 2023-5-14 13:41:58

                                简单的

                                直接上代码,用一个cstring库解决战斗

                                #include<iostream>
                                #include<cstring>
                                using namespace std;
                                int main(){
                                    char s[100001];
                                    cin>>s;
                                    for(int i=0;i<strlen(s)/2;i++)swap(s[i],s[i+strlen(s)/2]);
                                    cout<<s;
                                    return 0;
                                }
                                

                                直接解决

                                • 0
                                  @ 2023-3-11 15:03:02
                                  1. #include <bits/stdc++.h> #include <string> using namespace std; int main() 遇到不会的题,请string来帮助你吧!点个赞,谢谢! { string a; cin>>a; for (int i=a.size()/2;i<a.size();i++) { cout<<a[i]; } for (int i=0;i<a.size()/2;i++) { cout<<a[i]; } return 0;
                                        1. }
                                • 0
                                  @ 2023-3-11 6:48:28
                                  #include <bits/stdc++.h>
                                  using namespace std;
                                  int main(){
                                      string s; cin >> s; int mid = s.length() / 2; string front = "", back = "";
                                      for (int i = 0; i < mid; i ++) front += s[i];
                                      for (int i = mid; i < s.length(); i ++) back += s[i];
                                      cout << back << front; return 0;
                                  }
                                  

                                  棍子战术,没有人代码行数比我少!

                                  • @ 2023-3-11 8:16:05

                                    那我也缩进一下

                                  • @ 2023-3-11 8:16:52

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

                                • 0
                                  @ 2023-3-10 19:54:10

                                  P1004 洗牌

                                  题目描述

                                  桌子上有n纸张牌排成一行(n一定是偶数),每张牌上都印着一个大写字母,请你编写程序,把前一半纸牌和后一半纸牌互换。

                                  比如,假设有四张纸牌ABCD,那么互换后的结果是CDAB。


                                  首先,“把前一半纸牌和后一半纸牌互换”这里可以使用 substr函数,获取后一半和前一半的子串。前面的是 s.substr(0, n / 2) ,后面的就是 s.substr(n / 2, n / 2)

                                  (这里求长度可用 s.length()s.size


                                  参考代码

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

                                  注意:

                                  1.输出顺序

                                  2.函数格式


                                  hetao3097453(bililili @ 一钩出站)

                                  2023年3月10日

                                • 0
                                  @ 2023-2-28 15:19:24

                                  使用substr函数,获取后一半和前一半的子串,并依次输出即可。 其中前一半子串是s.substr(0, n / 2),后一半子串是s.substr(n / 2, n / 2)

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


                                  信息

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