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!='\0'){
    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++;
  }
}

原文地址:https://www.cnblogs.com/lmcmha/p/10336201.html

时间: 2024-10-09 21:08:17

L1-023 输出GPLT (20 分)的相关文章

PTA乙级 (1043 输出PATest (20分))

1043 输出PATest (20分) https://pintia.cn/problem-sets/994805260223102976/problems/994805280074743808 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <string> #include <cmath> using na

PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)

给定一个长度不超过 1 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出. 输入格式: 输入在一行中给出一个长度不超过 1 的.仅由英文字母构成的非空字符串. 输出格式: 在一行中按题目要求输出排序后的字符串.题目保证输出非空. 输入样例: redlesPayBestPATTopTeePHPereat

PAT Basic 1043 输出PATest (20 分)

给定一个长度不超过 10 ?4 ?? 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出. 输入格式: 输入在一行中给出一个长度不超过 10 ?4 ?? 的.仅由英文字母构成的非空字符串. 输出格式: 在一行中按题目要求输出排序后的字符串.题目保证输出非空. 输入样例: redlesPayBestPAT

1043 输出PATest (20分)

#include <string.h> #include <iostream> using namespace std; int main() { char str[10005]; int c_p=0,c_a=0,c_T=0,c_e=0,c_s=0,c_t=0; cin>>str; for(int i=0;i<strlen(str);i++) { if(str[i]=='P') c_p++; else if(str[i]=='A') c_a++; else if(

6-1 单链表逆转(20 分)

6-1 单链表逆转(20 分) 本题要求实现一个函数,将给定的单链表逆转. 函数接口定义: List Reverse( List L ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode List; /* 定义单链表类型 */ L是给定单链表,函数Rever

7-22 一元多项式的乘法与加法运算 (20 分)

7-22 一元多项式的乘法与加法运算 (20 分) 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数.数字间以空格分隔,但结尾不能有多余空格.零多项式应输出0 0. 输入样例: 4 3 4 -5 2 6 1 -2 0 3 5 20 -7 4 3 1 输出样例:

L1-023. 输出GPLT

L1-023. 输出GPLT 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按“GPLTGPLT....”这样的顺序输出,并忽略其它字符.当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出. 输入格式: 输入在一行中给出一个长度不超过10000的.仅由英文字母构成

PTA-C-4-7 统计某类完全平方数 (20分)

4-7 统计某类完全平方数   (20分) 本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144.676等. 函数接口定义: int IsTheNumber ( const int N ); 其中N是用户传入的参数.如果N满足条件,则该函数必须返回1,否则返回0. 裁判测试程序样例: #include <stdio.h> #include <math.h> int IsTheNumber ( const int N ); int ma

PTA 10-排序4 统计工龄 (20分)

题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/721 5-13 统计工龄   (20分) 给定公司NN名员工的工龄,要求按工龄增序输出每个工龄段有多少员工. 输入格式: 输入首先给出正整数NN(\le 10^5≤10?5??),即员工总人数:随后给出NN个整数,即每个员工的工龄,范围在[0, 50]. 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:"工龄:人数".每项占一行.如果人数为0则不输出该项. 输入样