字符串重复字符统计c语言,[讨论]精简字符串重复字符程序

[讨论]精简字符串重复字符程序

此程序已经调试过,正确,但是本人觉的写得太烦琐,希望各位高手给予指点,精简,非常感谢!

对给定的一个字符串,找出有重复的字符,并给出其位置,如:

输入:abcaaAB12ab12

输出:a,1;a,4;a,5;a,10

b,2;b,11

1,8;1,12

2,9;2,13

源程序:#include

#include

int main()

{

int d;

char *s="abcaaAB12ab12";

d=strlen(s);

for(int i=0;i

{

int h=1;//标识,为零,不做

for(int k=0;k

{

if(s[k]==s[i])

h=0;//某个字符前面已有相同的字符,置零

break;

}

for(int z=i+1;z

if(z==d-1)

h=0;//没有相同的字符置零

int j=i+1;

while(s[j]!=s[i]&&h)j++;

if(h&&j!=d)

{

printf("%c,%d; ",s[i],i+1);

for(int y=j;y

{

if(s[y]==s[i])

printf("%c,%d; ",s[y],y+1);

}

printf("\n");

}

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值