依次读入3个非空字符串:字符串1、字符串2、字符串3 ,输入的3个字符串最大长度不超过100,且字符串3的长度至少比字符串2的长度少1 。 然后在字符串1中搜索是否有子串与字符串2相等,如果相等,则用字符串3替换字符串1中该子串部分。 重复上述搜索与替换过程,直到字符串1中不存在子串与字符串2相等。 输入格式: 输入3个用空格分隔的字符串。 输出格式: 被替换后的字符串1的内容。 输入样例1: aabcd abc ef 输出样例1: aefd 输入样例2: aabcc abc b 输出样例2: b 用c语言代码实现
时间: 2024-03-01 19:53:04 浏览: 65
以下是实现该功能的 C 代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char s1[101], s2[101], s3[101];
scanf("%s %s %s", s1, s2, s3);
while (strstr(s1, s2) != NULL) {
int pos = strstr(s1, s2) - s1;
int len1 = strlen(s1), len2 = strlen(s2), len3 = strlen(s3);
char temp[101];
strcpy(temp, s1 + pos + len2);
s1[pos] = '\0';
strcat(s1, s3);
strcat(s1, temp);
if (len1 == strlen(s1)) break;
}
printf("%s\n", s1);
return 0;
}
```
相关问题
C语言依次读入3个非空字符串
,要求按照从小到大的顺序输出这3个字符串,每个字符串末尾都有一个换行符。请问如何实现?
可以使用 strcmp 函数进行字符串的比较,利用 if 和 else if 语句对比三个字符串的大小,然后按照从小到大的顺序输出这三个字符串即可。以下是示例代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100], str3[100];
scanf("%s", str1);
scanf("%s", str2);
scanf("%s", str3);
if (strcmp(str1, str2) < 0 && strcmp(str1, str3) < 0) {
printf("%s\n", str1);
if (strcmp(str2, str3) < 0) {
printf("%s\n%s\n", str2, str3);
} else {
printf("%s\n%s\n", str3, str2);
}
} else if (strcmp(str2, str1) < 0 && strcmp(str2, str3) < 0) {
printf("%s\n", str2);
if (strcmp(str1, str3) < 0) {
printf("%s\n%s\n", str1, str3);
} else {
printf("%s\n%s\n", str3, str1);
}
} else {
printf("%s\n", str3);
if (strcmp(str1, str2) < 0) {
printf("%s\n%s\n", str1, str2);
} else {
printf("%s\n%s\n", str2, str1);
}
}
return 0;
}
```
输入一个字符串,统计字符串中指定字符出现次数并输出。【输入格式】 在第一行中输入不超过80个字符长度的、以回车结束的非空字符串:在第二行中输入1个指定字符。【输出格式】 在一行中输出字符串中指定字符的出现次数。【输入样例】 Hello World!1 【输出样例】3 【函数定义要求 请在该程序文件中,实现函数int fcount(charstr1.chars)统计字符串str中字符s的出现次数,并作为函数的返回结果。
好的,我可以帮你实现这个功能。请看下面的代码:
```python
def fcount(chars: str, s: str) -> int:
count = 0
for char in chars:
if char == s:
count += 1
return count
# 主程序
if __name__ == '__main__':
chars = input()
s = input()
print(fcount(chars, s))
```
在这个程序中,我们定义了一个函数 `fcount`,它有两个参数,分别是字符串 `chars` 和指定字符 `s`。函数的作用是统计字符串 `chars` 中指定字符 `s` 出现的次数,并返回这个次数。
在主程序中,我们首先从标准输入中读入一个字符串 `chars` 和一个指定字符 `s`。然后调用 `fcount` 函数,将统计结果打印出来。
如果你想统计的是一个中文字符,需要将 `str` 改为 `unicode` 类型。
阅读全文