zoukankan      html  css  js  c++  java
  • 寻找变化前01序列

    问题描述

    给你一个01序列,HDLC协议处理的话,如果出现连续的5个1会补1个0。例如1111110,会变成11111010。

    现在给你一个经过HDLC处理后的01序列,你需要找到HDLC处理之前的01序列。

    例如给你11111010

    你需要输出1111110

    Input

    输入正整数N,表示N例测试。接着输入N组数据,每组输入经过HDLC处理过的01序列(长度小于100)。

    Output

    对每组输入数据,输出HDLC处理前的01序列。

    Sample Input

    2

    11111010

    1111100

    Sample Output

    1111110

    111110

     1 #include <iostream>
     2 #include<string.h>
     3 #define M 100
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int n;
     9     cin >> n;
    10     while(n--){
    11         char a[M];
    12         char b[M];
    13         memset(a,0,sizeof(a));
    14         memset(b,0,sizeof(b));
    15         scanf("%s",a);
    16         int len=strlen(a);
    17         int level=0;
    18         int j=0;
    19         for(int i=0;i<len;i++){
    20 
    21                 if(a[i]=='0'){
    22                     b[j++]='0';
    23                     level=0;
    24                 }
    25                 else if(a[i]=='1' && level!=4){
    26                     b[j++]='1';
    27                     level++;
    28                 }
    29                 else if(a[i]=='1' && level==4){
    30                     b[j++]='1';
    31                     level=0;
    32                     i++;
    33                 }
    34         }
    35         //b[j]=0;
    36         printf("%s",b);
    37 
    38     }
    39     return 0;
    40 }

    P.S.这个题也很简单,但是有几个地方需要注意一下(就是我报错的几个地方):

    1.%s时只能用char数组,即string模式,不能用int。如果想用int数组的话可以直接 cin>>a 就行了。但如果是char数组,每个值就是'0';如果是int数组每个值是0;

    2.以后碰到数组,最好还是初始化,直接memset,如果不写这一句,就一定要加上35行的那一句,把输出的数组结尾加个截止符。

    3.如果level从0开始,那直到4时就要准备删除了而不是5(这个仔细想想就能明白,实在不行debug一下就好了)

  • 相关阅读:
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    冒泡排序和选择排序
  • 原文地址:https://www.cnblogs.com/xym4869/p/8659853.html
Copyright © 2011-2022 走看看