zoukankan      html  css  js  c++  java
  • 行程编码(atoi函数)

     1 #include<iostream>
     2 #include<string>
     3 #include<vector>
     4 using namespace std;
     5 void jiema(string s)
     6 {
     7     cout << "解码之后为:" << endl;
     8     for(int i = 0; i < s.size(); i++)
     9     {
    10         if(s[i + 1] == '*')
    11         {
    12             int j = i + 1;
    13             int len = 0;
    14             while(s[j + 1] >= 48 && s[j + 1] <= 57)
    15             {
    16                 len++;
    17                 j = j + 1;
    18             }
    19             string temp = s.substr(i + 2, len);
    20             int num = atoi(temp.c_str());
    21             for(int k = 0; k < num; k++)
    22             {
    23                 cout << s[i];
    24             }
    25             i = j;
    26         }
    27         else
    28         {
    29             cout << s[i];
    30 
    31         }
    32     }
    33 }
    34 void bianma(string s) 35 { 36 vector<char>A; 37 int p = 1; 38 int j = 0; 39 for(; j < s.size();) 40 { 41 while(s[j] == s[j + 1] && j < s.size()) 42 { 43 p++; 44 j = j + 1; 45 } 46 if(p >= 4) 47 { 48 A.push_back(s[j]); 49 A.push_back('*'); 50 A.push_back(p); 51 p = 1; 52 j = j + 1; 53 } 54 else if(p < 4) 55 { 56 for(int k = 0; k < p; k++) 57 { 58 A.push_back(s[j]); 59 } 60 p = 1; 61 j = j + 1; 62 } 63 } 64 cout << "编码之后为:" << endl; 65 for(int b = 0; b < A.size(); b++) 66 { 67 if(A[b] >= 0 && A[b] <= 9) 68 cout << int(A[b]); 69 else 70 cout << A[b]; 71 } 72 cout << endl; 73 cout << "压缩比为:" << endl; 74 double y = double(A.size()) / s.size(); 75 cout << y << endl; 76 } 77 void main() 78 { 79 cout << "请输入代码:①代码中含有数字表示需要解码解压缩②代码中不含数字表示需要编码压缩" << endl; 80 string s; 81 for(; cin >> s;) 82 { 83 int i = 0; 84 for(; i < s.size(); i++) 85 { 86 if(s[i] >= 48 && s[i] <= 57) //解码 87 { 88 jiema(s); 89 break; 90 } 91 } 92 if(i == s.size()) 93 { 94 bianma(s); 95 } 96 } 97 }
  • 相关阅读:
    asp.net mvc上传头像加剪裁功能
    CSS基础部分总结
    Web前端之初学CSS
    JavaScript中的new操作符的原理解析
    JS常用数组API汇总
    【NOIP2020提高B组模拟11.26】卡常题
    【NOIP2020提高B组模拟11.26】逗气
    CSP-J/S总结
    计数题
    浅谈线段树——基础篇
  • 原文地址:https://www.cnblogs.com/allenben/p/3633772.html
Copyright © 2011-2022 走看看