求助

P1320 压缩技术(续集版)

新时代卷王 @ 2021-10-12 10:52:02

#include<bits/stdc++.h>
using namespace std;

int num;
int c,tc;//c用来储存当前字符,tc用来储存上一个数字
int i;//指向数组的位置
int arr[40001];//记录结果
int main()
{
    i = 1;//从1开始因为0用来储存层数
    tc = 48;//0的ASCII码
    while ((c = getchar()) != EOF)//逐个输入字符
    {

        if (c == tc)//与上一个输入的字符相同
        {
            num++;
        }
        else if (c == 10)//回车的ASCII码
        {
            arr[0]++;
        }
        else//与上一个不同则记录下一个数的出现次数
        {
            arr[i] = num;
            i++;
            tc = c;
            num = 1;
        }

    }
    arr[i] = num;//由于输入结束跳出循环而没有输入最后一个数字的出现次数,在此处补上
    for (int j = 0; j <= i; j++)//输出结果
    {
        cout << arr[j] << " ";
    }

    return 0;
}

本地可过,不知道有什么问题


by S00021 @ 2021-10-12 12:07:53

你这种菜鸡还在做红题,看我一秒一个神仙题


|