2016.3.18华为上机题目:去除重复字符并排序

来源:互联网 发布:淘宝店家骂人怎么办 编辑:程序博客网 时间:2024/06/03 10:48

运行时间限制:无限制
内容限制:       无限制
输入:              字符串
输出:              去除重复字符并排序的字符串
样例输入:       aabcdefff
样例输出:       abcdef

方法一:

<span style="font-size:18px;"><span style="font-size:18px;">#include "iostream"using namespace std;char * sortuser(char *p){  int i,j;  char temp;  for(i=0;*(p+i)!='\0';i++)     for(j=i+1;*(p+j)!='\0';j++) { if(*(p+i)>*(p+j)) { temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; } } return p;}int main(){  char a[100];  char *p;  int i;  cin>>a;  p=sortuser(a);  //cout<<p<<endl;for(i=0;*(p+i)!='\0';i++){ if(i==0) { cout<<*(p+i);     continue; } if(*(p+i)==*(p+i-1)) continue; else { if(*(p+i+1)=='\0')     cout<<*(p+i)<<endl; else cout<<*(p+i); }}  return 0;}</span></span>

方法二:

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
int i,j;
char a,c[130];

string ss;
cin>>ss;


    j=0;
    for(i=0;i<128;i++) //从ASCII字符表里顺序找
{
if(ss.end()!=find(ss.begin(),ss.end(),(char)i)) {c[j]=(char)i;j++;}//不等于尾指针  说明找到了
}


    for(i=0;i<j;i++)
cout<<c[i];
cout<<endl;
return 0;
}


                                             
0 0
原创粉丝点击