如何删除重复字符c语言
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除重复字符c语言相关的知识,希望对你有一定的参考价值。
参考技术A #include<stdio.h>int main(void)
char s[100];
int i, j, n, k;
printf("请输入一串有重复字符的字符串:\n");
gets(s);
for (n = 0; s[n] != '\0'; n++);
for (i = 0; i < n ; i++)
for (j = k = i + 1; j < n ; j++)
if (s[j] != s[i])
s[k++] = s[j];
s[k] = '\0';
printf("去掉重复字符后结果为:\n");
puts(s);
怎么去掉字符串中重复出现的字符
参考技术A lz 你好这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.List;
import java.util.Scanner;
public class DeleteRepeated
private String str;
private TreeSet noReapted;//带有String类型的TreeSet泛型
public DeleteRepeated()
Scanner in = new Scanner(System.in);
System.out.println ("输入一个字符串:");
str = in.nextLine();
noReapted = new TreeSet();
//清楚重复的数据
public void removeRepeated()
for (int i = 0; i < str.length(); i )
noReapted.add("" str.charAt(i));
//str.charAt(i)返回的是char型 所以先加一个""空格 , 转换成String型
//TreeSet泛型能保证重复的不加入 , 而且有序
str = "";
for(String index:noReapted)
str = index;
//输出
System.out.println (str);
public static void main(String[] args)
DeleteRepeated dr = new DeleteRepeated();
dr.removeRepeated();
参考技术B 参考代码:
import java.util.List;
import java.util.Scanner;
public class DeleteRepeated
private String str;
private TreeSet<String> noReapted;//带有String类型的TreeSet泛型
public DeleteRepeated()
Scanner in = new Scanner(System.in);
System.out.println ("输入一个字符串:");
str = in.nextLine();
noReapted = new TreeSet();
//清楚重复的数据
public void removeRepeated()
for (int i = 0; i < str.length(); i++)
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型 所以先加一个""空格 , 转换成String型
//TreeSet泛型能保证重复的不加入 , 而且有序
str = "";
for(String index:noReapted)
str += index;
//输出
System.out.println (str);
public static void main(String[] args)
DeleteRepeated dr = new DeleteRepeated();
dr.removeRepeated();
本回答被提问者采纳
以上是关于如何删除重复字符c语言的主要内容,如果未能解决你的问题,请参考以下文章