试了好几个样例都能过,但是全WA.求求大佬救救

P1320 压缩技术(续集版)

ikun11 @ 2023-01-01 12:17:10

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

int main()
{
    char a;
    int j=0,i=0,k=0;
    int flag=0,n;
    int m[40000]={0};
    while(~scanf("%c",&a))
    {
        if(a!='\n')
        {
            i++;
        }
        if(a=='\n'&&flag==0)
        {
            flag=1;
            n=i;
        }

        if(a=='0'&&j==0)
        {
            m[k]++;
        }

by 蛋蛋工作室 @ 2023-01-01 12:28:08

代码没发完吧


by ikun11 @ 2023-01-01 15:36:54

是的,谢谢,这下应该是完整的了

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

int main()
{
    char a;
    int j=0,i=0,k=0;
    int flag=0,n;
    int m[40000]={0};
    while(~scanf("%c",&a))
    {
        if(a!='\n')
        {
            i++;
        }
        if(a=='\n'&&flag==0)
        {
            flag=1;
            n=i;
        }

        if(a=='0'&&j==0)
        {
            m[k]++;
        }
        if(a=='0'&&j==1)
        {
            k++;
            m[k]=1;
            j=0;
        }

        if(a=='1'&&j==1)
        {
            m[k]++;
        }
        if(a=='1'&&j==0)
        {
            k++;
            m[k]=1;
            j=1;
        }

    }
    printf("%d ",n);
    for(i=0;i<=k;i++)
    {
        printf("%d ",m[i]);
    }

    return 0;
}

by BlessBELL @ 2023-01-03 15:19:40

这个代码在我这里跑不起来?输入数据后无法输出结果。


by ikun11 @ 2023-01-06 20:24:01

@BlessBELL 谢谢大佬。这个的问题已经解决了,是因为'\n',好像不能识别这个。可能是因为不同系统不一样?


by ikun11 @ 2023-01-06 20:30:51

@BlessBELL 输入数据后要换行,按Ctrl+z再回车才能输出,您是不是忘这个了?


|