求助WA80分

P1320 压缩技术(续集版)

thomas_zjl @ 2021-02-22 20:31:07

现在菜到红题都不会写了

#include<bits/stdc++.h>
using namespace std;
char a[10001];
int ans[2001];
int main(){
    int h=0;
    int z=0;
    int y=0;
    int x=1;
    while(~scanf("%s",a)){
        ++h;
        int n=strlen(a);
        for(int i=0;i<n;++i){
            if(z==a[i])
                ++y;
            if(z!=a[i]){
                z=a[i];
                ans[x]=y;
                y=1;
                ++x;
            }
        }
    }
    printf("%d ",h);
    for(int i=1;i<x;++i){
            printf("%d ",ans[i]); 
    }
    printf("%d",y);
}

by Mars_Dingdang @ 2021-02-22 20:39:32

int z=0;z==a[i] 是啥


by Mars_Dingdang @ 2021-02-22 20:40:09

而且第一个数是几个零,如果你这样一上来就是 1 就错了


by Mars_Dingdang @ 2021-02-22 20:41:13

还有你的 h 其实和 n 是一回事啊

连着三次验证码错


by thomas_zjl @ 2021-02-22 20:45:39

@Mars_Dingdang 不管z=1还是z=0输出都一样可太艹了


by Mars_Dingdang @ 2021-02-22 20:47:25

@LFC_thomaszjl 您 a[i] 是字符,z 是整数,当然会有问题


by thomas_zjl @ 2021-02-22 20:54:08

@Mars_Dingdang 啊这低级错误啊,以过,谢谢


by ████ @ 2021-06-19 13:59:26

围观大佬切磋?


|