pioupiou493 @ 2021-11-07 21:26:17
int main()
{
char a[201][201];
int b[400]={0};
int i,r,t=0,sum=0;
int tmp;
char y;
for(i=0;i<200;i++)
{
for(r=0;r<200;r++)
{
a[i][r]=0;
}
}
r=0;
while((a[0][r]=getchar())!='\n')
{
r++;
}
a[0][r]='\0';
tmp=r;
for(i=1;i<tmp;i++)
{
scanf("%s",&a[i]);
}
y='0';
for(i=0;i<tmp;i++)
{
for(r=0;r<tmp;r++)
{
if(a[i][r]==y)
{
sum++;
}
else
{
b[t]=sum;
y=a[i][r];
sum=1;
t++;
}
}
}
b[t]=sum;
printf("%d ",tmp);
i=0;
while(1)
{
printf("%d ",b[i]);
i++;
if(b[i]==0)
{
break;
}else;
}
return 0;
}```
by IridescentAurora @ 2021-12-05 20:45:02
我不是大佬,我是个萌新,我遇到了和你一样的问题,输出正确,但全WA。 我发现我们的代码相同的地方就是一个一个字符输进来,用的是getchar(),我看过了的都是直接字符串输入,scanf()这样。 我调整了输入方式这一点,原来的算法没变,就过了,你要是明白到底是因为什么,还望回复我,因为我真的一知半解,只是凑出了accepted。