题目1199:找位置

// 关键是理解题意:只输出重复的字符,且按照字符出现的顺序。。。

#include<stdio.h>

#include<string.h>
int main()
{
    char s[101];
    while(scanf("%s",s)!=EOF){
        int f[100];                              // 判断字符是否已输出过
        memset(f,0,sizeof(f));
        for(int i=0;s[i]!=0;i++){
            int k=s[i]-'0';                       
            int flag=1;                         // 字符出现的次数 
            for(int j=i+1;s[j]!=0;j++) {
                if(s[j]==s[i]){
                    flag++;   break; 
                }    
            }   
            if(f[k]==0&&flag>1){
                printf("%c:%d",s[i],i);
                for(int j=i+1;s[j]!=0;j++) {
                    if(s[j]==s[i])   printf(",%c:%d",s[j],j);
                } 
                f[k]=1;
                printf("\n");  
            }else continue;
        }
    }
    return 0;    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值