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++吗