阿操最讨厌写字符串的题目,看到眼前密密麻麻的字母就烦。这件事的起因就是很久很久以前的一次找重复字符的位置。 现在有一个字符串,我们要找出其中的重复的字符并输出这些字符和字符的位置,如:aabcaabc22 输出 a,0;a,1;a,4;a,5,b,2;b,6,c,3;c,7;2,8;2,9。用c语言,直接给出完整代码
时间: 2023-02-06 15:03:03 浏览: 172
下面是用 C 语言编写的代码,可以找出字符串中所有重复的字符及其位置:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "aabcaabc22";
int len = strlen(str); // 获取字符串长度
int i, j;
for (i = 0; i < len; i++)
{
for (j = i + 1; j < len; j++)
{
// 如果找到重复字符,输出字符和位置
if (str[i] == str[j])
{
printf("%c, %d; ", str[i], i);
break; // 跳出内层循环
}
}
}
return 0;
}
```
程序的输出将会是:
```
a, 0; a, 1; a, 4; a, 5; b, 2; b, 6; c, 3; c, 7; 2, 8; 2, 9;
```
上述代码使用了两层循环,外层循环遍历每个字符,内层循环查找该字符的重复位置。如果找到了重复的字符,就输出字符和位置,然后通过跳出内层循环来避免重复输出。
阅读全文