dc66584409 2016-06-04 07:02 采纳率: 0%
浏览 1098

关于c语言的问题,想用c语言解答

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

输入格式:

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

输出格式:

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

输出样例:GPLTGPLTGLTGLGLL

  • 写回答

4条回答 默认 最新

  • 「已注销」 2016-06-04 08:01
    关注

    #include
    using namespace std;
    int main()
    {
    char s[10001], PGLT[4] = { 'P', 'G', 'L', 'T' };
    int i, j, c[4] = { 0, 0, 0, 0}; //c[4]分别存储字符出现次数
    cin >> s;
    for (i = 0; s[i] != '\0'; i++) //统计每个字符的出现次数
    {
    switch (s[i])
    {
    case 'P': c[0]++;
    break;
    case 'G': c[1]++;
    break;
    case 'L': c[2]++;
    break;
    case 'T': c[3]++;
    break;
    }
    }
    while (c[0] || c[1] || c[2] || c[3] )
    {
    for (i = 0; i < 4; i++)//将P、A、G、L、T字符先后输出
    {
    if (c[i]!=0)//当这个字符没用完时,继续输出
    {
    printf("%c", PGLT[i]);
    c[i]--;//个数-1
    }
    }
    }
    //system("pause");
    return 0;
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建