从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中。 (
时间: 2024-05-15 12:19:03 浏览: 51
您好!感谢您的提问。针对您的问题,可以使用C++标准库中的string和stringstream来实现。以下是代码示例:
```
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string inputStr;
getline(cin, inputStr); // 从键盘读入一行字符串
stringstream ss(inputStr);
string token;
string strArr[100]; // 假设最多有100个单词
int i = 0;
while (getline(ss, token, ' ')) { // 以空格为分隔符提取字符串
strArr[i++] = token;
}
// 输出存入数组中的字符串
for (int j = 0; j < i; j++) {
cout << strArr[j] << endl;
}
return 0;
}
```
希望能够帮到您!如果您还有其他问题,欢迎继续提问。
相关问题
Scanner类 从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中
可以使用Scanner类的nextLine()方法读取一行字符串,然后使用String类的split()方法将字符串按空格分割成字符串数组。以下是示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行字符串:");
String line = scanner.nextLine();
String[] words = line.split(" ");
System.out.println("分割后的字符串数组为:");
for (String word : words) {
System.out.println(word);
}
}
}
```
运行示例:
```
请输入一行字符串:
This is a sentence.
分割后的字符串数组为:
This
is
a
sentence.
```
scnner从键盘读入一行字符串,以空格作为分隔符,将内容存入字符串数组中。 (2)若数组元素是纯数字字符串,将其转换为数值,并输出; (3)若是非数字字符串,直接输出。
ChitGPT:明白,您想了解如何使用C++中的scanner来读取一行字符串并对其进行处理。以下是示例代码:
```C++
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string input, word;
getline(cin, input);
istringstream iss(input);
while (iss >> word) {
bool is_num = true;
for (char c : word) {
if (!isdigit(c)) {
is_num = false;
break;
}
}
if (is_num) {
int num = stoi(word);
cout << num << endl;
} else {
cout << word << endl;
}
}
return 0;
}
```
在这个示例代码中,我们使用了`getline()`函数来读入一行字符串,然后利用`istringstream`类将它包装为字符串流进行处理。对于每个单词,我们先遍历每个字符来判断它是否是数字字符,如果是把它转换为整数并输出,否则直接输出该单词。
希望这个示例代码可以帮到您。
阅读全文