此程序正确,但是运行时只能处理到第一行,然后程序就结束了,求助咋办
#include <bits/stdc++.h>
using namespace std;
char tu[40010],temp,temp1=1;
int cnt=1,cnt1=0,sum=0;
char flag;
int ans[40010];
int main(){
while(scanf("%c",&temp)&&temp>0x2F){
tu[cnt]=temp;
cnt++;
}
for(int i=1;i<cnt;i++){
if(i==1){
flag=tu[1];
}
if(tu[i]==flag){
cnt1++;
}else{
flag=tu[i];
ans[temp1]=cnt1;
temp1++;
cnt1=1;
}
}
for(int i=1;i<temp1;i++){
sum+=ans[i];
}
sum+=cnt1;
cout<<int(sqrt(sum))<<' ';
for(int i=1;i<temp1;i++){
cout<<ans[i]<<' ';
}
cout<<cnt1;
return 0;
}