用c语言实现:编程:输入一个无空格字符串和一个长度为2的子串,求该子串在该字符串中出现的次数,如果查找子串是相同的2个字符,那么记过次数的字母不再计入。 例如:输入abacaacdaaacd,再输入aa,结果输出2 注意:由于gcc编译器不能使用gets函数,可以使用scanf()函数。
时间: 2023-07-16 09:15:17 浏览: 106
以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100], sub[3];
int len, sub_len, count = 0, i, j, flag;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入一个长度为2的子串:");
scanf("%s", sub);
len = strlen(str);
sub_len = strlen(sub);
for (i = 0; i < len - sub_len + 1; i++) {
flag = 0;
for (j = 0; j < sub_len; j++) {
if (str[i+j] != sub[j]) {
flag = 1;
break;
}
}
if (flag == 0) {
count++;
if (sub[0] == sub[1]) {
i += 1;
}
}
}
printf("子串在字符串中出现的次数为:%d\n", count);
return 0;
}
```
代码思路是先输入字符串和子串,然后使用两个循环遍历字符串和子串,如果子串在某个位置匹配成功,就将计数器加1,如果子串是相同的两个字符,就跳过下一个字符。最后输出计数器的值即为子串在字符串中出现的次数。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)