PTA——删除重复字符

Posted cxc1357

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA——删除重复字符相关的知识,希望对你有一定的参考价值。

PTA

7-60 删除重复字符

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define N 85
 4 
 5 int main() {
 6     int t,i,j,m=0,flag;
 7     char original[N],target[N];
 8     gets(original);
 9     for(i=0; i<strlen(original); i++) {
10         flag = 0;
11         t = original[i];
12         //判断字符是否在目标数组中
13         for(j=0; j<i; j++) {
14             if(original[j] == t) {
15                 flag = 1;
16                 break;
17             }
18         }
19         if(flag==0) {
20             target[m] = t;
21             m++;
22         }
23     }
24     for(i=1;i<m;i++){
25         t = target[i];
26         j = i-1;
27         while(j>=0 && t<target[j]){
28             target[j+1] = target[j];
29             j--;
30         }
31         target[j+1]=t;
32     }
33     for(i=0; i<m; i++) {
34         printf("%c",target[i]);
35     }
36 }

分析:

1、注意字符串长度,original用了gets()接收,可以通过strlen()得到长度,但target不行,要单独定义变量记录长度

2、另一种思路是先排序再输出不重复的字符

以上是关于PTA——删除重复字符的主要内容,如果未能解决你的问题,请参考以下文章

PTA乙级 (1049 数列的片段和 (20分))

[PTA]习题8-6 删除字符

[PTA]习题8-6 删除字符

[PTA]实验8-2-3 删除字符

2018年3月底的PTA

python练习6——PTA