zoukankan      html  css  js  c++  java
  • 题目-删除重复字符

    题目-删除重复字符

    编写程序,将给定的字符串去掉重复的字符后,按照ASCII码顺序从小到大排序后输出。

    输入格式

    输入是一个以回车结束的非空字符串(少于80个字符)。

    输出格式

    输出去重排序后的结果字符串。

    输入样例

    ad2f3adjfeainzzzv

    输出样例

    23adefijnvz

    具体分析

    题目的表述是去重排序,实际上的处理步骤应该是先排序后去重,因为排序过后相同的字符会挨在一起,方便去重。

    一般都是以ASCII码值的大小作为字符比较的标准,0~9 < A~Z < a~z。

    按照ASCII码排序字符串可以参照整型数组的排序方式进行排序。

    输入样例排序后的字符串为:23aaaddeffijnvzzz,只需将字符串中不同的字符按照顺序输出即可得到结果字符串。

    代码

     1 //删除重复字符并排序输出  
     2 #include<iostream>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     char ch[80];
     8     int n=0;    //输入的字符个数  
     9     
    10     cin.get(ch[n]);
    11     while(ch[n]!='
    '){
    12         n++;
    13         cin.get(ch[n]);
    14     }
    15     
    16     for(int i=0; i<n-1; i++){    //冒泡排序,从小到大  
    17         for(int j=0; j<n-1-i; j++){
    18             if(ch[j]>ch[j+1]){
    19                 char temp;
    20                 temp = ch[j];    ch[j] = ch[j+1]; ch[j+1] = temp;
    21             }
    22         }
    23     } 
    24     
    25     for(int i=0; i<n; i++){
    26         if(ch[i+1]!=ch[i]){ //重复的字符会因为ASCII码值相同而相邻  
    27             cout << ch[i];
    28         }
    29     }
    30     
    31     return 0;
    32  } 
     
  • 相关阅读:
    linux常用命令
    windows 安装elasticsearch-head插件
    spring boot 使用logback日志系统的详细说明
    mysql 修改密码的几种方式
    html跑马灯效果
    windows 安装elk日志系统
    logstash 启动报找不主类或无法加载 java
    MySQL和Postgresql的区别
    Swift-----泛型Generic
    Swift-----扩展extension
  • 原文地址:https://www.cnblogs.com/yuanchuying/p/14753265.html
Copyright © 2011-2022 走看看