zoukankan      html  css  js  c++  java
  • L1-023 输出GPLT (20 分)

    L1-023 输出GPLT (20 分)

    给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。

    输入格式:

    输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。

    输出格式:

    在一行中按题目要求输出排序后的字符串。题目保证输出非空。

    输入样例:

    pcTclnGloRgLrtLhgljkLhGFauPewSKgt
    

    输出样例:

    GPLTGPLTGLTGLGLL
    

    思路

    通过指针计算字符串中p,t,l,g的个数,通过循环进行打印GPLT

    代码

    
    #include<stdio.h>
    void number(char *p);
    int Gnum,Tnum,Pnum,Lnum;
    int main()
    {
      
      char ch[10000]={0};
      char *p;
      
      scanf("%s",&ch);       //输入字符串
      number(ch);
      
      while(1){             //打印GPLT
        
        if(Gnum!=0){
          printf("G");
          Gnum--;
        }
        if(Pnum!=0){
          printf("P");
          Pnum--;
        }
        if(Lnum!=0){
          printf("L");
          Lnum--;
        }
        if(Tnum!=0){
          printf("T");
          Tnum--;
        }
        if(Gnum==0&&Pnum==00&&Lnum==0&&Tnum==0) 
          break;
        }
      return 0;
    }
    void number(char *p)        //计算大小写g,t,p,l的个数
    {
      while(*p!=''){
        if(*p=='G'||*p=='g') Gnum++;
        if(*p=='P'||*p=='p') Pnum++;
        if(*p=='L'||*p=='l') Lnum++;
        if(*p=='T'||*p=='t') Tnum++;
        p++;
      }
    }
    
  • 相关阅读:
    java日期格式化
    Map遍历方法
    Eclipse常用快捷键
    mysql事务块处理
    oracle事务块示例
    取得服务器或应用程序当前路径
    tomcat下运行war包
    java通过CLASSPATH读取包内文件
    Hive分析窗体函数之SUM,AVG,MIN和MAX
    LeetCode 145 Binary Tree Postorder Traversal(二叉树的兴许遍历)+(二叉树、迭代)
  • 原文地址:https://www.cnblogs.com/lmcmha/p/10336201.html
Copyright © 2011-2022 走看看