最后一个数不能输出

P1320 压缩技术(续集版)

Fanray @ 2021-10-07 10:38:00

#include<bits/stdc++.h>
using namespace std;
string a;
int main(){
    int l=205;
    int x=0;
    char b='0'; 
    bool g=0;
    for(int i=0;i<l;i++){
        cin>>a;
        if(g==0){
            l=a.length();
            cout<<l<<" ";
            g=1;
        }
        for(int j=0;j<l;j++){
            if(a[j]==b)x++;
            else {
                cout<<x<<" ";
                x=1;
                if(b=='0')b='1';
                else b='0';
            }
        }
    }
return 0;
}

输入:样例

输出:7 3 1 6 1 6 4 3 1 6 1 6 1 3


by 编码落寞 @ 2021-10-07 11:06:47

程序判断下一个值与上一个值不一致时,输出上一次0或者1个数。

样例最后一行1值为1,无法触发你最后的else条件,也就没最后一个输出了。


by Fanray @ 2021-10-07 11:29:04

@编码落寞 谢谢


by KnownError_ @ 2021-11-22 20:29:24

在输入数据后面添加一个空格什么的就行了


|