zoukankan      html  css  js  c++  java
  • [刷题] 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、另一种思路是先排序再输出不重复的字符

  • 相关阅读:
    团队协议
    C++ 多继承和虚继承的内存布局(转)
    轻量级的.Net ORM框架介绍
    EF下CodeFirst、DBFirst与ModelFirst分析
    JDK方式
    JSON
    事务的ACID特性
    数据库查询
    Assets
    内部文件存储
  • 原文地址:https://www.cnblogs.com/cxc1357/p/10796865.html
Copyright © 2011-2022 走看看