字符串过滤
2015-07-19 11:15
295 查看
题目描述(60分):
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
比如字符串“abacacde”过滤结果为“abcde”。
要求实现函数:
void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“deefd” 输出:“def”
输入:“afafafaf” 输出:“af”
输入:“pppppppp” 输出:“p”
*/
/* main函数已经隐藏,这里保留给用户的测试入口,在这里测试你的实现函数,可以调用printf打印输出*/
/* 当前你可以使用其他方法测试,只要保证最终程序能正确执行即可 */
/* 该函数实现可以任意修改,但是不要改变函数原型。一定要保证编译运行不受影响*/
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
比如字符串“abacacde”过滤结果为“abcde”。
要求实现函数:
void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“deefd” 输出:“def”
输入:“afafafaf” 输出:“af”
输入:“pppppppp” 输出:“p”
*/
/* main函数已经隐藏,这里保留给用户的测试入口,在这里测试你的实现函数,可以调用printf打印输出*/
/* 当前你可以使用其他方法测试,只要保证最终程序能正确执行即可 */
/* 该函数实现可以任意修改,但是不要改变函数原型。一定要保证编译运行不受影响*/
#include<iostream> #include<string> using namespace std; void stringFilter(const char *pInput, long Inputlen, char *pOutput){ char count[26] = { 0 };//计数器 int j = 0; for (int i = 0; i < Inputlen; i++){ char temp = pInput[i] - 'a'; if (count[temp] == 0){ count[temp]++; pOutput[j++] = pInput[i]; } pOutput[j] = '\0'; } } void main(){ char a[100],b[100]; cin >> a; int len = strlen(a); cout << len << endl; stringFilter(a, len, b); cout << b << endl; system("pause"); }
相关文章推荐
- USACO Arithmetic Progressions(暴力)
- (一)PHP面向对象理论1---类
- 安装 Microsoft Dynamics CRM 2013 出错问题总结
- 安装 Microsoft Dynamics CRM 2013 出错问题总结
- JavaScript 与java中数组的区别
- 股票学习13
- Majority Element II
- UVa 10986 - Sending email
- Android Studio使用技巧
- C语言柔性数组
- sql server2012附加的数据库问题
- gem update --system remotefetcher: fetcherror
- 软件测试成长之路001
- Hadoop—Pig部署及统计访问日志例子----练习8
- python 线程安全的对象池
- hdu 5258 wyh2000 and pupil(dfs)
- 视觉目标跟踪创新点突破之处--浅谈(转)
- c语言中的“宏”是指什么?
- Log4j配置及加载
- 每日回顾Shell —cat,tail,head