《算法筆記》3.6小節——入門模擬->字符串處理

1009 說反話

在這里插入圖片描述

#include <cstdio>int main() {char sen[80][80];int num=0;while(scanf("%s",sen[num])!=EOF){num++;}for (int i = num-1; i > 0; --i) {printf("%s ",sen[i]);}printf("%s\n",sen[0]);return 0;
}

字符串連接

在這里插入圖片描述

#include <iostream>
using namespace std;int main() {string a,b;while(cin>>a>>b){cout<<a<<b<<endl;}return 0;
}

首字母大寫

在這里插入圖片描述

#include <iostream>
#include <cctype>
using namespace std;bool is_blank(char i){if(i==' '||i=='\t'||i=='\r'||i=='\n') return true;else return false;
}int main() {string str;while(getline(cin,str)){bool is_start=true;for (int i = 0; i < str.length(); ++i) {if(is_blank(str[i])) is_start= true;else if(is_start){if(islower(str[i])){str[i]= toupper(str[i]);}is_start= false;}}cout<<str<<endl;}return 0;
}

字符串的查找刪除

在這里插入圖片描述
在這里插入圖片描述
參考鏈接:

https://cloud.tencent.com/developer/ask/sof/110559246

  • isspace( )判斷字符c是否為空白符,空白符指空格、水平制表、垂直制表、換頁、回車和換行符
  • 注意大小寫比較和輸出
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
using namespace std;string removeSpace(const string& input){string res;for(char c:input){if(c!=' ') res.push_back(c);}return res;
}int main() {string shortStr,inputStr;getline(cin,shortStr);transform(shortStr.begin(), shortStr.end(), shortStr.begin(), ::tolower);while(getline(cin,inputStr)){if(shortStr.empty()){cout<<inputStr;return 0;}string temp=inputStr;transform(temp.begin(),temp.end(),temp.begin(),::tolower);size_t pos=0;while((pos=temp.find(shortStr,pos))!=string::npos){temp.erase(pos,shortStr.length());inputStr.erase(pos,shortStr.length());}string resStr= removeSpace(inputStr);cout<<resStr<<endl;}return 0;
}

單詞替換

在這里插入圖片描述

#include <iostream>
#include <string>
using namespace std;int main() {string str,str1,str2;while(getline(cin,str)){getline(cin,str1);getline(cin,str2);size_t pos=0;while((pos=str.find(str1,pos))!=string::npos){str.replace(pos,str1.length(),str2);pos=pos+str2.length();}cout<<str<<endl;}return 0;
}

字符串去特定字符

在這里插入圖片描述

#include <iostream>
using namespace std;int main() {string s,c;while(getline(cin,s)){getline(cin,c);if(c.empty()){cout<<s<<endl;continue;}size_t pos=0;while((pos=s.find(c,pos))!= string::npos){s.erase(pos,c.length());}cout<<s<<endl;}return 0;
}

數組逆置

在這里插入圖片描述

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;int main() {string str;while(getline(cin,str)){reverse(str.begin(), str.end());cout<<str<<endl;}return 0;
}

比較字符串

在這里插入圖片描述

#include <iostream>
using namespace std;int main() {int m;string str1,str2;cin>>m;for (int i = 0; i < m; ++i) {cin>>str1>>str2;if(str1.length()>str2.length()){cout<<str1<<" is longer than "<<str2<<endl;}else if(str2.length()>str1.length()){cout<<str1<<" is shorter than "<<str2<<endl;}else{cout<<str1<<" is equal long to "<<str2<<endl;}}return 0;
}

【字符串】回文串

在這里插入圖片描述

#include <iostream>
#include <algorithm>
using namespace std;int main() {string str;getline(cin,str);string tempStr=str;reverse(tempStr.begin(),tempStr.end());if(tempStr==str) cout<<"YES"<<endl;else cout<<"NO"<<endl;return 0;
}

編排字符串

在這里插入圖片描述

#include <iostream>
#include <queue>
#include <string>
using namespace std;int main() {int m;cin>>m;deque<string> names;string str;for (int i = 0; i < m; ++i) {cin>>str;names.push_front(str);if(names.size()>4){names.pop_back();}int count=1;for(const auto&name:names){cout<<count<<'='<<name;if(count<names.size()){cout<<' ';}count++;}cout<<endl;}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/78827.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/78827.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/78827.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

供應鏈業務-供應鏈全局觀(三)- 供應鏈三流的集成

概述 供應鏈的全局觀的全兩篇文章主要描述了供應鏈的基礎概念和供應鏈的協作和集成問題。 供應鏈業務-供應鏈全局觀&#xff08;一&#xff09;定義了什么是供應鏈和供應鏈管理。 所謂供應鏈就是把采購進來的東西&#xff0c;通過自身的生成加工&#xff0c;進行增值服務&am…

鏈表-算法小結

鏈表 單鏈表 雙鏈表 循環鏈表 鏈表_stl-CSDN博客 虛擬頭結點 反轉鏈表 刪除鏈表元素 方法一: 直接使用原來的鏈表來進行刪除操作。 頭節點是否為空頭鏈表的值是否為要刪除的值頭結點刪除后,新的頭節點是否依舊要刪除 ,刪除后的,新頭節點可能是空結點 方法二: 設置一個虛擬…

C語言中常用的調試宏和函數總結(__LINE__、__FUNCTION__)

表格&#xff1a;C語言調試工具 類別工具描述示例代碼預定義宏__LINE__表示當前源代碼的行號。printf("Error occurred at line %d\n", __LINE__);__FILE__表示當前源代碼文件的名稱。printf("Error occurred in file %s\n", __FILE__);__func__表示當前函…

DotnetCore開源庫SampleAdmin源碼編譯

1.報錯: System.Net.Sockets.SocketException HResult0x80004005 Message由于目標計算機積極拒絕&#xff0c;無法連接。 SourceSystem.Net.Sockets StackTrace: 在 System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, C…

如何使用切片操作來處理序列數據

1 問題 本文主要探究 Python 中切片操作的原理和應用。具體來說&#xff0c;我們將分析切片的基本語法、切片的步長和切片的邊界&#xff0c;并通過示例代碼展示如何使用切片操作來處理序列數據。 2 方法 為了更好地理解切片操作&#xff0c;我們采用如下的思路學習python中的切…

java(二):java的運算和流程控制

java中單引號和雙引號區別和用法 區別1&#xff1a;java中的單引號表示字符&#xff0c;雙引號表示字符串。 區別2&#xff1a;單引號引的數據一般是char類型的&#xff1b;雙引號引的數據 是String類型的。 區別3&#xff1a;java中單引號里面只能放一個字母或數字或符號&…

Android envsetup與Python venv使用指南

Android envsetup 和 Python venv 是兩種完全不同的環境配置工具&#xff0c;分別服務于不同的開發場景。以下是對它們的詳細解釋及使用方法&#xff1a; 1. Android envsetup 用途&#xff1a; Android envsetup 是 Android 源碼開發中的環境配置腳本&#xff08;envsetup.sh…

游戲引擎學習第222天

回顧昨天的過場動畫工作 我們正在制作一個游戲&#xff0c;目標是通過直播的方式完成整個游戲的開發。在昨天的工作中&#xff0c;我享受了制作過場動畫的過程&#xff0c;所以今天我決定繼續制作多個層次的過場動畫。 昨天我們已經開始了多層次過場動畫的基本制作&#xff0…

Leedcode刷題 | Day31_貪心算法05

一、學習任務 56. 合并區間代碼隨想錄738. 單調遞增的數字968. 監控二叉樹 二、具體題目 1.56合并區間56. 合并區間 - 力扣&#xff08;LeetCode&#xff09; 給出一個區間的集合&#xff0c;請合并所有重疊的區間。 示例 1: 輸入: intervals [[1,3],[2,6],[8,10],[15,1…

app逆向專題五:新快報app數據采集

app逆向專題五:新快報app數據采集 一、抓包尋找數據接口二、編寫代碼三、完整代碼一、抓包尋找數據接口 打開charles,并在手機端打開新快報app,點擊“廣州”或者“經濟”等選項卡,抓包,尋找數據接口,如圖所示: 二、編寫代碼 這里介紹一種簡便的代碼編寫方法,在數據…

Java面試黃金寶典45

1. 非對稱加密 RSA 定義:RSA 是一種廣泛使用的非對稱加密算法,其安全性基于大整數分解的困難性。它使用一對密鑰,即公鑰和私鑰。公鑰可公開用于加密消息,而私鑰必須保密,用于解密由相應公鑰加密的消息。要點: 公鑰公開,私鑰保密,二者成對出現。加密和解密使用不同的密鑰…

提權實戰!

就是提升權限&#xff0c;當我們拿到一個shell權限較低&#xff0c;當滿足MySQL提權的要求時&#xff0c;就可以進行這個提權。 MySQL數據庫提權&#xff08;Privilege Escalation&#xff09;是指攻擊者通過技術手段&#xff0c;從低權限的數據庫用戶提升到更高權限&#xff…

在虛擬機上修改saprk的版本

之前安裝的spark版本是3.4&#xff0c;現在實驗需要的版本是2.4。現在需要更改spark的版本。 方法很簡單&#xff1a; 直接將原有的spark3.4的文件刪除&#xff0c;再安裝2.4版本。 安裝過程之后再寫。Spark2.1.0入門&#xff1a;Spark的安裝和使用_廈大數據庫實驗室博客

文獻分享: DESSERT基于LSH的多向量檢索(Part3.2.外部聚合的聯合界)

原論文 文章目錄 1. \textbf{1. } 1. 定理 4.2 \textbf{4.2} 4.2的內容 1.1. \textbf{1.1. } 1.1. 一些符號 1.2. \textbf{1.2. } 1.2. 定理內容 3. \textbf{3. } 3. 聯合界限 Ps. \textbf{Ps. } Ps. 運行時間分析 1. \textbf{1. } 1. 定理 4.2 \textbf{4.2} 4.2的內容 1.1. \t…

MIPI協議介紹

MIPI協議介紹 mipi 協議分為 CSI 和DSI,兩者的區別在于 CSI用于接收sensor數據流 DSI用于連接顯示屏 csi分類 csi 分為 csi2 和 csi3 csi2根據物理層分為 c-phy 和 d-phy, csi-3采用的是m-phy 一般采用csi2 c-phy 和 d-phy的區別 d-phy的時鐘線和數據線是分開的,2根線一對…

【中間件】nginx反向代理實操

一、說明 nginx用于做反向代理&#xff0c;其目標是將瀏覽器中的請求進行轉發&#xff0c;應用場景如下&#xff1a; 說明&#xff1a; 1、用戶在瀏覽器中發送請求 2、nginx監聽到瀏覽器中的請求時&#xff0c;將該請求轉發到網關 3、網關再將請求轉發至對應服務 二、具體操作…

在3ds Max中視口顯示為黑色或深灰色

在3ds Max中視口顯示為黑色或深灰色 Autodesk Support 2023年10月8日 涵蓋的產品和版本 問題&#xff1a; 在3ds Max中&#xff0c;使用“深”UI方案時視口顯示為完全黑色&#xff0c;使用“淺”UI方案時視口顯示為深灰色。 原因&#xff1a; 已為用戶界面禁用Gamma校正。…

Vue.js 中 v-if 的使用及其原理

在 Vue.js 的開發過程中&#xff0c;條件渲染是一項極為常見的需求。v-if指令作為 Vue.js 實現條件渲染的關鍵手段&#xff0c;能夠根據表達式的真假來決定是否渲染某一塊 DOM 元素。它在優化頁面展示邏輯、提升用戶體驗等方面發揮著重要作用。接下來&#xff0c;我們就深入探討…

Verilog:LED呼吸燈

模塊接口說明 信號方向描述clk輸入系統時鐘&#xff08;100MHz&#xff0c;周期10ns&#xff09;rst_n輸入低電平有效的異步復位信號led_en輸入總使能信號&#xff08;1開啟呼吸燈&#xff0c;0關閉&#xff09;speed_en輸入呼吸速度調節使能信號speed[2:0]輸入呼吸速度分級&a…

我的計算機網絡(總覽篇)

總覽--網絡協議的角度 在一個龐大的網絡中&#xff0c;該從哪里去了解呢&#xff1f;我先細細的講一下我們訪問一個網站的全部流程&#xff0c;當我們的電腦連上網絡的時候&#xff0c;就會啟動DHCP協議&#xff0c;來進行IP地址&#xff0c;MAC地址&#xff0c;DNS地址的分配…