C语言删除字符串中重复的字符
2016-05-11 09:55
435 查看
#include <stdio.h> #include <string.h> #define NR(x) sizeof(x)/sizeof(x[0]) int Del_char(const char *input, char *output) { int i , j , k = 0; int flag ; int len ; //判断输入输出的字符串数组是否为空 if(input == NULL || output == NULL) { //如果为空,返回错误码 return -1 ; } //用查询的方法遍历数组的每一个元素 for(i = 0 ; i < NR(input) ; i++) { //把标志位置一 flag =1 ; //在遍历一遍数组,这个for用来与上面的进行比较,如果出现相同的 //就把标志位置0 for(j = 0 ; j < i ; j++) { if(input[i] == input[j]) flag = 0 ; } //如果标志位被置1,表示没有重复的元素,这时候,将不重复的元素 //从数组的首元素的地方开始往后排列 if(1 == flag){ output[k++] = input[i] ; } } //最后加一个伪0作为结束 output[k] = '\0' ; puts(output); return 0 ; } int main() { char str_input[10]; char str_output[10]={"0"}; printf("请输入你的字符串:"); scanf("%s",&str_input); Del_char(str_input,str_output); getchar(); getchar(); return 0 ; }
相关文章推荐
- C语言删除字符串中重复的字符
- C/C++ ifstream之eof()
- cannot find -lmsvcrt
- C++中的重载
- C语言/ACM算法疑问
- 【c++】产生随机数
- C++实验5-多继承
- 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]
- 第7周 C语言程序设计(新2版) 练习1-12 每行一个单词打印输入
- 成为C++高手之if与switch
- Deep Learning (Python, C, C++, Java, Scala, Go)
- c++作业5
- c++作业5
- c++实验5-数组分离
- c++作业5
- c++第五次作业
- 【C语言】整型溢出和整型提升
- c++作业五
- c++第五次实验
- 第五次c++作业