使用C++语言,编写一段程序从标准输入中读入多个字符串并将它们连接在一起,输出连接成的大字符串。然后修改上述程序,用空格把输入的多个字符串分隔开来。
时间: 2023-05-11 09:03:22 浏览: 164
好的,以下是使用C语言编写的程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[1000], input[1000];
int i = 0;
// 读入多个字符串
while (scanf("%s", input) != EOF) {
strcat(str, input); // 将输入的字符串连接到str中
}
// 输出连接成的大字符串
printf("%s\n", str);
// 用空格分隔输入的多个字符串
strcpy(str, ""); // 清空str
rewind(stdin); // 清空输入缓冲区
while (scanf("%s", input) != EOF) {
strcat(str, input); // 将输入的字符串连接到str中
strcat(str, " "); // 在字符串末尾添加一个空格
}
// 去掉最后一个空格
str[strlen(str) - 1] = '\0';
// 输出连接成的大字符串
printf("%s\n", str);
return 0;
}
```
这个程序可以从标准输入中读入多个字符串,并将它们连接在一起,输出连接成的大字符串。同时,也可以用空格把输入的多个字符串分隔开来。
相关问题
C++程序:编写一段程序从标准输入中读入多个字符串并将它们连接在一起,输出连接 成的大字符串。然后修改上述程序,用空格把输入的多个字符串分隔开来。
以下是使用 `std::string` 实现的 C++ 程序:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str, result;
// 读入多个字符串并将它们连接在一起
while (std::cin >> str) {
result += str;
}
std::cout << "连接后的字符串为:" << result << std::endl;
// 用空格把输入的多个字符串分隔开来
result.clear();
std::cin.clear();
std::cin.seekg(0, std::ios::beg); // 将输入流重置到文件开头
while (std::cin >> str) {
result += str + " ";
}
std::cout << "分隔后的字符串为:" << result << std::endl;
return 0;
}
```
程序首先使用一个 `while` 循环读入多个字符串,并将它们连接在一起。连接后的大字符串存储在 `result` 变量中,最后输出。
然后程序清空 `result`,并使用 `std::cin.clear()`、`std::cin.seekg()` 将输入流重置到文件开头。再次使用 `while` 循环读入多个字符串,但是这次需要在每个字符串的末尾添加一个空格。最后输出分隔后的字符串。
编写一段程序从标准输入中读入多个字符串并将它们连接在一起,输出连接 成的大字符串。然后修改上述程序,用空格把输入的多个字符串分隔开来。用c++实现
以下是连接输入字符串的程序:
```c++
#include <iostream>
#include <string>
int main() {
std::string input, result;
while (std::cin >> input) { // 从标准输入中读入多个字符串
result += input; // 将它们连接起来
}
std::cout << result << std::endl; // 输出连接成的大字符串
return 0;
}
```
以下是用空格分隔输入字符串的程序:
```c++
#include <iostream>
#include <string>
int main() {
std::string input, result;
while (std::cin >> input) { // 从标准输入中读入多个字符串
result += input + " "; // 用空格把它们分隔开来并连接起来
}
std::cout << result << std::endl; // 输出连接成的大字符串
return 0;
}
```
注意,第二个程序中每个字符串的末尾都有一个空格。如果不需要这个空格,可以在输出时去掉它。
阅读全文