C++
 Computer >> コンピューター >  >> プログラミング >> C++

文字列の長さの取得・連結・先頭文字の交換を行うC++プログラム

2つの文字列 st が与えられたとき、次の3行で構成される出力を求めます。1行目には st の長さをスペース区切りで、2行目には st を連結した文字列を、3行目には先頭の文字を入れ替えた st をスペース区切りで表示します。

例えば、入力が s = "hello"t = "programmer" の場合、出力は以下のようになります。

5 10
helloprogrammer
pello hrogrammer

解法のアプローチ

この問題を解くためには、以下の手順に従います。

  • s の長さを表示し、スペースを1つ出力してから t の長さを表示する

  • s + t(連結した文字列)を表示する

  • temp := s[0] として、s の先頭文字を一時変数に保存する

  • s[0] := t[0] として、s の先頭を t の先頭文字で置き換える

  • t[0] := temp として、t の先頭を保存しておいた文字で置き換える

  • s を表示し、スペースを1つ出力してから t を表示する

実装例

以下の実装を見て、より深く理解しましょう。

#include <iostream>
using namespace std;
int main(){
    string s = "hello", t = "programmer";
    cout << s.length() << " " << t.length() << endl;
    cout << s + t << endl;
    char temp = s[0];
    s[0] = t[0];
    t[0] = temp;
    cout << s << " " << t << endl;
}

入力

"hello", "programmer"

出力

5 10
helloprogrammer
pello hrogrammer

このプログラムでは、length() メソッドで文字列の長さを取得し、+ 演算子で文字列を連結し、インデックスアクセスによって先頭の文字を交換しています。C++の std::string を使えば、これらの文字列操作を簡単かつ直感的に実装できます。

  1. C++で文字列をコピーする方法:strcpy()を使う場合と使わない場合のプログラム解説

    文字列(string)とは、null文字(\0)で終端される1次元のchar型配列のことです。ある文字列の値を別の文字列にコピーすることができます。コピーの方法には、標準ライブラリ関数であるstrcpy()を使用する方法と、使用せずに自前で処理する方法の2通りがあります。strcpy()を使わずに文字列をコピーするプログラムまずは、標準ライブラリに頼らず、forループを使って1文字ずつコピーする方法を見てみましょう。#include <iostream> using namespace std; int main() {     char s

  2. 【C++】2つの数値を交換(スワップ)するプログラムの書き方

    2つの数値を交換(スワップ)するC++プログラムを作成する方法は、主に2つあります。1つ目は一時変数(temp変数)を使用する方法で、2つ目は第3の変数を使わない方法です。ここでは、それぞれの方法についてサンプルコード付きで詳しく解説します。一時変数を使って2つの数値を交換するプログラムまず、一時変数を使って2つの数値を交換する基本的なプログラムを見てみましょう。サンプルコード#include <iostream>using namespace std;int main() {   int a = 10, b = 5, temp;   tem