zoukankan      html  css  js  c++  java
  • 《程序设计语言综合设计》第四周上机练习——4 特殊的翻译

     1 #include<string.h>
     2 #include<iostream>
     3 using namespace std;
     4 char s[300],s1[300];
     5 int i,j=0,h,e;
     6 int main()
     7 {
     8     for(cin>>s;;j=0)
     9     {
    10         //确定重复开始位置head和重复结束位置end,若无重复跳出大循环
    11         for(h=0;s[h]!=0;h++) if(s[h]==s[h+1]&&s[h]>96) break;
    12         for(e=h;s[e]!=0;e++) if(s[e]!=s[e+1]&&s[e]>96) break;
    13         if(s[e]==0) break;
    14         //将翻译后的s记录到s1
    15         for(i=e+1;s[i]!=0;i++) s1[j++]=s[i];//复制part1
    16         s1[j++]=s[h]-32;                    //字母
    17         if(e-h<9) s1[j++]=e-h+49;           //数字(1位的情况)
    18         else                                //数字(2位的情况)
    19         {
    20             s1[j++]=48+(e-h+1)/10;
    21             s1[j++]=48+(e-h+1)%10;
    22         }
    23         for(i=0;i<h;i++) s1[j++]=s[i];      //复制part3
    24         s1[j]=0;                            //别忘了补上终止符
    25         //将s1复制给s,然后继续循环
    26         strcpy(s,s1);
    27     }
    28     cout<<s;
    29 }

    1.注意数字大于9的情况需进位,如10个a结果是a10;

    2.注意由数字产生的连续,如11个a结果是a11,别把数字当成字母!!!

    3.注意终止符。。。

  • 相关阅读:
    IBinder介绍
    Android组成部分
    Android中handler,looper与messageQueue的代码解析
    JS
    设计模式
    冒泡排序
    战斗逻辑
    mongo数据库基础
    JS闭包
    c/c++
  • 原文地址:https://www.cnblogs.com/miaohengming/p/12499725.html
Copyright © 2011-2022 走看看