21xrx.com
2024-12-28 22:48:34 Saturday
登录
文章检索 我的文章 写文章
C++实现多行带空格数字输入
2023-07-08 01:14:40 深夜i     --     --
C++ 多行输入 带空格 数字输入

在C++编程中,要输入多行带空格的数字数据是经常遇到的问题,而如何实现这样的输入方法呢?下面我们将介绍一种实现方法。

首先,需要包含头文件iostream和string,以便实现输入和字符串操作.


#include<iostream>

#include<string>

using namespace std;

然后,声明一个字符串变量和一个整型变量,用于存储输入数据和计算结果。因为输入是多行的,所以需要使用while循环来不断地读入数据,直到读入的数据为空为止。具体实现代码如下:


string str;

int sum = 0;

while(getline(cin, str) && str.size()){ // 读入非空行

  int n;

  string s = "";

  for(int i=0;i<str.size();i++){

    if(str[i] == ' '){ // 遇到空格,转换为整数并累加

      n = stoi(s);

      sum += n;

      s = "";

      continue;

    }

    s += str[i]; // 否则将数字字符拼接起来

  }

  n = stoi(s); // 处理最后一个数字

  sum += n;

}

cout << "总和是:" << sum << endl; // 输出计算结果

在上述代码中,首先使用getline()函数读取一行输入数据并存储到字符串变量str中。然后,在字符串中逐个字符地判断,遇到空格则将之前拼接的数字字符串转换为整数并进行累加,同时需要将数字字符串清空以便拼接下一个数字。最后,将处理完的最后一个数字转换为整数并同样进行累加。其中,使用了stoi()函数将字符串转换为整数类型。最后输出计算结果即可。

综上所述,利用while循环和getline()函数结合字符串操作和类型转换,就能轻松实现多行带空格数字输入,并进行求和运算。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复