zoukankan      html  css  js  c++  java
  • 找位置

    题目描述

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

    a,1;a,4;a,5;a,10
    b,2;b,11
    1,8;1,12
    2,9;2,13
    

    输入描述:

    输入包括一个由字母和数字组成的字符串,其长度不超过100。

    输出描述:

    可能有多组测试数据,对于每组数据,
    按照样例输出的格式将字符出现的位置标出。

    1、下标从0开始。
    2、相同的字母在一行表示出其出现过的位置。

    分析

    对于一个字符串的每一个字符,如果在他的后面出现了重复的字符,那么就输出该字符以及字符的位置,并且将该重复字符置为*

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main(){
        string s;
        while(cin >> s){
            for(int i = 0; i < s.size() - 1; i++){
                bool flag = true;// 用来标记是否是重复字符的第一个字符
                if(s[i] == '*') continue;
                for(int j = i + 1; j < s.size(); j++){
                    if(s[i] == s[j]){
                       if(flag){
                           cout << s[i] << ":" << i;
                           flag = false;
                       }
                        cout << "," << s[j] << ":" << j;
                        s[j] = '*';
                    }
                }
                if(!flag) cout << endl;//这里是如果s[i]有重复并且输出了,那么就换行否则不换行
            }
        }
        return 0;
    }
    
  • 相关阅读:
    Springboot整合Dubbo
    网站appache的ab命令压力测试性能
    静态页面框架
    CSS布局设计
    弹性盒子的总结
    弹性盒子
    应用媒介查询制作响应式导航栏
    响应式的设计需要遵守的4个原则和媒介查询语句
    media type的类型汇总
    background-orgin属性
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10288535.html
Copyright © 2011-2022 走看看