编写一个程序,在同一行输入两个字符串,两字符串间用空格隔开,最后将其连接起来并输出,不要用strcat函数。用C语言代码编写
时间: 2023-06-07 14:07:18 浏览: 589
可以使用指针和循环来实现字符串拼接,以下是一个示例代码:
```
#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;
}
```
这段代码会依次输入两个字符串并拼接,最后输出拼接后的结果。注意,在输入字符串时,应该控制字符串长度不能超过数组大小,否则会产生溢出错误。
相关问题
将文本中的字符串替换为指定的新的字符串,编写程序从键盘输入文件中的内容,当输入ebd时表示结束,end 后边有两个字符串,要求用第二个字符串替换第一个字符串,这个程序怎么写
你可以使用Python编写一个简单的程序来实现这个功能,代码如下:
```python
import fileinput
end = False
while not end:
text = input("请输入文件内容:")
if text == "ebd":
end = True
else:
old_str, new_str = input("请输入要替换的字符串和新的字符串,以空格分隔:").split()
with fileinput.FileInput('file.txt', inplace=True, backup='.bak') as file:
for line in file:
if old_str in line:
line = line.replace(old_str, new_str)
print(line, end='')
```
在这个程序中,我们首先通过一个循环来输入文件的内容,并判断是否输入了“ebd”来结束程序。接着,我们输入要替换的字符串和新的字符串,使用`split()`方法将它们分隔开并存储到`old_str`和`new_str`变量中。
接下来使用了Python内置的`fileinput`模块,使用`FileInput`的`inplace`参数为替换文件中的内容并在原文件上进行替换。`backup`参数则可以指定原文件的备份文件的后缀名。我们使用一个`for`循环来遍历文件的每一行,对于包含待替换字符串的行,使用`replace()`方法进行替换,并使用`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()`方法将小写字母列表中的元素连接起来,得到一个字符串并输出。