• Hnu 12505 字符串处理


    题意:

    给出一些字符串

    其中出现频率最多的字符 c  对应26个字母的 'E'

    问出现频率最多的字符 c 离'E'的距离 和 让我们把字符串翻译过来..

    如果出现频率最大的字符有两个..则输出 "NOT POSSIBLE"

    思路:

    用一个数组来记录每个单词出现次数

    找最多的那个..

    对我来说 主要是翻译的过程 有点困难..我被绕晕了..囧~~

    Tips:

    ※ 实现循环的过程用 %

    ※ 翻译过程用 ((arr[i]-'A')-tmp+26)%26+'A'

    Code:

    View Code
     1 #include <stdio.h>
     2 #include <cstring>
     3 #include <algorithm>
     4 #include <cmath>
     5 using namespace std;
     6 #define clr(x) memset(x, 0, sizeof(x))
     7 
     8 struct Ch
     9 {
    10     char c;
    11     int num;
    12 }c[30];
    13 
    14 int main()
    15 {
    16     int i, j, k;
    17     char arr[1010], cc;
    18     int mm[30], d, T;
    19     bool flag;
    20     scanf("%d", &T);
    21     getchar();
    22     while(T--)
    23     {
    24 
    25         gets(arr);
    26         clr(mm);
    27         flag = true;
    28 
    29         int len = strlen(arr);
    30         for(i = 0; i < len; ++i)
    31         if(arr[i] != ' ') mm[arr[i]-'A']++;
    32 
    33         int min = -1;
    34         for(i = 0; i < 30; ++i){
    35             if(mm[i] > min){
    36                 min = mm[i];
    37                 cc = i+'A';
    38             }
    39         }
    40 
    41         for(i = 0; i < 30; ++i)
    42             if(i+'A' != cc && mm[i] == min) flag = false;
    43 
    44         if(!flag) puts("NOT POSSIBLE");
    45         else {
    46             printf("%d ", int(cc-'E'+26)%26);
    47             int tmp = int((cc-'E'+26)%26);
    48             for(i = 0; i < len; ++i)
    49             printf("%c", arr[i]==' '?arr[i]:((arr[i]-'A')-tmp+26)%26+'A');
    50             puts("");
    51         }
    52     }
    53     return 0;
    54 }
  • 相关阅读:
    SpringBoot引入spring-boot-starter-security后无法接收前端请求
    虚拟机IP地址不断改变的解决办法
    加密
    Golang设计模式学习笔记--建造者模式
    goland快捷键
    使用webhook实现博客网站自动化部署
    hugo + nginx 搭建博客记录
    Maven打包方式(多模块)
    如何抑制SettingWithCopyWarning
    时间复杂度分析--公式法
  • 原文地址:https://www.cnblogs.com/Griselda/p/2677215.html
Copyright © 2020-2023  润新知