为啥90分?

P1320 压缩技术(续集版)

lyc呐 @ 2019-12-10 22:15:49

#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
    int counts=0,i,n,count=0;
    char text[40000],str[200];
    scanf("%s",str);
    n=strlen(str);
    strcat(text,str);
    for(i=2;i<=n;i++)
    {
        scanf("%s",str);
        strcat(text,str);
    }
    printf("%d ",n);
    if(text[0]=='0')
        counts++;
    else
    {
        if(count!=0)
            printf(" ");
        printf("%d",counts);
        counts++;
        count++;
    }       
    for(i=1;text[i]!='\0';i++)
    {
        if(text[i]==text[i-1])
            counts++;
        else
        {
            if(count!=0)
                printf(" ");
            printf("%d",counts);
            count++;
            counts=0;
            counts++;           
        }
    }
    printf(" %d",counts);
}

by Thomas_ @ 2019-12-10 22:21:48

您康康题解吧,然后找找错


by 离散小波变换° @ 2019-12-10 23:08:54

可能是数组大小开小了吧,建议稍微开大一些,不能卡得紧紧的。

字符串末尾有一个'\ 0',这会导致字符数组溢出.


|