C语言编写一个程序,输入包含多组数据,每组测试数据由两个待连接字符串组成,中间用一个空格分隔,字符串内部不含空格,且不为空串,每个字符串不多于20个字符。 输出连接后的字符串。
时间: 2024-09-19 15:11:17 浏览: 66
在C语言中,你可以使用`scanf`函数获取用户输入,然后通过循环遍历处理每一组数据并连接字符串。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 包含strlen函数
#define MAX_LENGTH 20 // 字符串最大长度
int main() {
char str1[MAX_LENGTH], str2[MAX_LENGTH], result[MAX_LENGTH * 2]; // 结果数组足够大以容纳连接后的字符串
int i;
printf("请输入一组数据 (两个字符串之间用空格分隔): ");
while(scanf("%s %s", str1, str2) == 2 && strlen(str1) > 0 && strlen(str2) > 0) { // 读取直到遇到非数字或到达字符串长度限制
strncpy(result, str1, MAX_LENGTH); // 将第一个字符串复制到结果
result[MAX_LENGTH - 1] = ' '; // 添加空格
strcat(result, str2); // 连接第二个字符串
printf("连接后的字符串: %s\n", result);
// 继续读取下组数据
printf("请输入下一组数据 (按回车结束): ");
getchar(); // 清理换行符
}
return 0;
}
```
在这个程序中,我们首先提示用户输入,并使用`scanf`读取两个字符串。如果输入有效,我们就连接它们并打印结果。当用户不再输入新的数据或者输入无效时(如输入非字符串),循环会停止。
阅读全文