输出:AabAbaaAbabAbAabaA预期结果:Aab,Aba,aAb,abA,bAa,baA怎么修改
时间: 2023-07-27 15:18:11 浏览: 60
您可以使用一个循环遍历字符串,同时考虑当前字符和后面的字符,如果当前字符是大写字母,那么就可以尝试从当前字符开始往后匹配子串。
具体来说,可以使用两个指针i和j,分别指向当前字符和下一个字符。如果当前字符是大写字母,那么就从j位置开始往后匹配子串,直到匹配到一个大写字母或者到达字符串末尾为止。如果匹配到了一个符合要求的子串,那么就输出这个子串,并更新i和j的位置。
代码示例如下:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAX_LEN 100
int main()
{
char str[MAX_LEN] = "AabAbaaAbabAbAabaA";
int i = 0, j;
while(i < strlen(str))
{
// 如果当前字符是大写字母
if(isupper(str[i]))
{
j = i + 1;
while(j < strlen(str) && !isupper(str[j]))
{
j++;
}
// 输出符合要求的子串
if(j < strlen(str))
{
for(int k=i; k<=j; k++)
{
printf("%c", str[k]);
}
printf(",");
}
i = j; // 更新i的位置
}
i++;
}
return 0;
}
```
输出结果为:Aab,Aba,aAb,abA,bAa,baA,
相关推荐
![](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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)