码迷,mamicode.com
首页 > 其他好文 > 详细

PTA——删除重复字符

时间:2019-04-30 16:58:01      阅读:617      评论:0      收藏:0      [点我收藏+]

标签:origin   har   定义变量   print   ring   nal   strlen()   get   --   

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——删除重复字符

标签:origin   har   定义变量   print   ring   nal   strlen()   get   --   

原文地址:https://www.cnblogs.com/cxc1357/p/10796865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!