题目:剔除一个字符中重复的字符,然后按ASCII码值从小到大排列。 例如,输入:abbcccddeeeffgghh 输出:abcdefgh 注意:1、剔除是整个字符串中重复的字符,而不是连续的字符 2
2014-03-24 21:38
671 查看
#include <iostream> using namespace std; void paixu(char *string, int length) { char temper; int i,j; if (string == NULL || length <2) return; for (i = 1; i < length; i++) { for (j = 0; j < length-i; j++) { if (string[j] > string[j+1]) { temper = string[j]; string[j] = string[j+1]; string[j+1] = temper; } } } cout<<string<<endl; } void delete_(char* string, int length) { if (string == NULL || length < 2) return; char *s = new char[length+1]; //若字符串中无重复字符,则s需要length+1的空间 int j = 0; s[0] = string[0]; for (int i = 0; i < length; i++) { if (string[i] != string[i+1]) { j++; s[j] = string[i+1]; //若字符串中无重复字符,则s需要(length+1)*sizeof(char)的空间,string末尾的'\0'也被输入到s } } strcpy(string,s); cout<<string<<endl; delete[] s; } void main() { char str[256]; int len; cin>>str; len = strlen(str); paixu(str,len); delete_(str,len); cout<<str<<endl; getchar(); getchar(); }
//getchar();是为了看到输出结果,不然程序结束后,控制台会闪现。加2个getchar();是因为第一个getchar();获取了输入字符的回车键,程序仍然会结束,需再加一个才会等待输入。
相关文章推荐
- 题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。
- C++输入一个字符串,去掉这个字符串中出现次数最少的字符 例如: 输入:abcabbc 输出:bbb
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩规则: 1、仅压缩连续重复出现的字符。比如字符串"abcbc
- 输出一个字符串所有排列。注意有重复字符
- 对输入字符串进行压缩,输入"aaabcccdde",输出"3ab3c2de",即对连续出现的字符进行压缩
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。
- 输入字符串,内有数字和非字符数组,例如A123x456将其中连续的数字作为一个整数,依次存放到一个数组中,如123放到a[0],456放到a[1],并输出a这些数
- 输入一个字符串,要求输出字符串中字符所有的排列,例如输入"abc",得到"abc","acb","bca","bac","cab","cba"
- 输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一数组a中。统计共有多少个整数,并输出这些数。
- 3.2 设计一个程序,要求用户输入 5 个字符,然后将这 5 个字符按相反的顺序显示出 来。例如,假设输入 abcde,则输出为 edcba
- 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
- Swift - 排列组合之全排列 (输入一个字符串,输出该字符串包含的字符的所有组合)
- 题目:输入一个字符数组,输出所有的排列。
- 题目:输入一个字符串,输出该字符串中字符的所有组合
- 第20题: 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。
- 在控制台上输入一个字符串,将其中夹杂的字母去除,只剩数字,然后对对这些数字进行全排列,输出全排列结果
- 将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:
- 接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
- 2.写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。