无法跳出while,求助!

P1320 压缩技术(续集版)

ddddsy @ 2024-01-29 20:04:13

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(){
    int sum=0,cur=1;
    int *num = (int*)malloc(sizeof(int)*1000001);
    int digit,temp=0;
    while((scanf("%1d",&digit))!=EOF){
        sum++;
        if(digit==temp){
            num[cur]++;
        }else{
            num[++cur]++;
            temp=digit;
        }
        //printf("%d ",cur);
        //printf("num[%d] = %d ",cur,num[cur]);
    }
    printf("%d ",sqrt(sum));
    for(int i=1;i<=cur;i++){
        printf("%d ",num[i]);
    }
    free(num);
    return 0;
}

使用的是c语言,注释掉的是测试时的在while循环内的输出,和答案一样,但我的程序是想在while循环结束之后再进行输出。修改了好久还是无法跳出while循环


by liumingkai2022 @ 2024-02-09 19:08:39

你不是c++吗


|