编写一个程序,在同一行输入两个字符串,两字符串间用空格隔开,最后将其连接起来并输出,不要用strcat函数。用C语言代码编写
时间: 2023-06-07 22:07:18 浏览: 822
可以使用指针和循环来实现字符串拼接,以下是一个示例代码:
```
#include <stdio.h>
int main() {
char str1[50], str2[50];
char *p1 = str1, *p2 = str2;
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
// 定位到字符串末尾
while (*p1 != '\0') {
p1++;
}
// 将第二个字符串拼接到第一个字符串末尾
while (*p2 != '\0') {
*p1 = *p2;
p1++;
p2++;
}
// 添加字符串结尾符
*p1 = '\0';
printf("拼接后的字符串为:%s\n", str1);
return 0;
}
```
这段代码会依次输入两个字符串并拼接,最后输出拼接后的结果。注意,在输入字符串时,应该控制字符串长度不能超过数组大小,否则会产生溢出错误。
相关问题
在一行中按格式"字符串 整数a字符串 整数b"输入整数a和整数字符串和整数之间用空格隔开。
在编程中,如果你想要按照"字符串 整数 a字符串 整数"的格式输入两个整数(如整数a和整数b),你可以让用户通过键盘逐次输入。用户首先会提供一个整数(如输入`5`),接着是一个空格,然后输入另一个整数(如输入`10`)。这个过程通常会在控制台环境中进行,程序员需要编写适当的读取函数来接收并解析用户的输入。
例如,在Python中,你可以使用`input()`函数获取用户输入,然后用`split()`方法根据空格分隔得到各个部分:
```python
input_str = input("请输入格式为'字符串 整数 a字符串 整数'的信息:")
parts = input_str.split(" ")
# 确保输入了四个部分
if len(parts) == 4:
string_part1 = parts[0]
int_a = int(parts[1])
string_part2 = parts[2]
int_b = int(parts[3])
# 这里可以进一步处理int_a和int_b
else:
print("输入格式错误")
```
用Python编写输入一个字符串,统计字符串中数字和小写字母的数量,并将小写字母串联起来输出。程序遇到‘#’,则忽略后面的字符不统计,只统计前面的字符。 【输入形式】一个字符串 【输出形式】第一行两个数字,用逗号隔开;第二行一个字符串。 【样例输入】a1b2c3d#23 【样例输出】3,4 abcd 【样例说明】输出的第一行是数字和小写字母的数量;第二行是小写字母形成的字符串。
可以使用Python的字符串方法和正则表达式来解决这个问题。下面是一个示例代码:
```python
import re
s = input().strip() # 输入字符串并去除两端空格
# 使用正则表达式匹配数字和小写字母
digits = re.findall(r'\d', s)
lowercase = re.findall(r'[a-z]', s)
# 判断是否遇到了 #
if '#' in s:
index = s.index('#')
digits = digits[:index]
lowercase = lowercase[:index]
# 输出结果
print(len(digits), len(lowercase), sep=',')
print(''.join(lowercase))
```
解释一下代码:
1. 首先使用`input()`函数获取用户输入的字符串,并使用`strip()`方法去除两端空格。
2. 使用正则表达式`r'\d'`匹配字符串中所有的数字,使用`re.findall()`方法获取匹配到的所有结果。同理,使用`r'[a-z]'`匹配所有小写字母。
3. 如果遇到了`#`,则使用`index()`方法获取其在字符串中的位置,并将数字和小写字母列表切片,只保留`#`之前的部分。
4. 使用`len()`函数获取数字和小写字母列表的长度,并使用`sep=','`参数设置输出时使用逗号分隔。
5. 使用`join()`方法将小写字母列表中的元素连接起来,得到一个字符串并输出。
阅读全文