-5

私は C++ の完全な初心者で、次のプログラムを実行しようとしています。


  1. コンソールから文を読み取ります。
  2. スペース文字を区切り文字として使用して、文を単語に分割します。
  3. 各単語を反復処理します。単語が数値の場合はその値を 2 倍にして出力し、そうでない場合は単語を出力し、各出力をそれぞれの行に出力します。

私はこれを行う方法について本当に迷っています。特に区切り文字としてスペース キーを使用します。

4

1 に答える 1

3

次のようなものを持つことができます:

std::stringstream と_std::getline

std::string str;
std::string temp;
std::getline(std::cin,str);

std::stringstream ss(str);

while(getline(ss,temp, ' ')) // delimiter as space
{
      std::stringstream stream(temp);
      if(stream >> val)
        std::cout<<2*val<<std::endl;
      else 
        std::cout<<temp<<std::endl;
}

デモを見る

于 2013-09-03T17:29:16.943 に答える