#include<stdio.h>
#include<string.h>
int main()
{
char a[200];
int i;
int num=0,j=0,len=1;
char ch;
int cnt[200]={0};
while(num!=len)
{
scanf("%s",a);//可以不用去考虐长度的问题 并且输入以后立马转化为数字
num++;//num在这里表示行数
len=strlen(a);//len在这里表示宽度
//开始写条件了
if (num == 1 && a[0] == '1')j++;
if (num > 1 && a[0] != ch)j++;
cnt[j]++;//新记录的哪个数必须以1为开头
for (i = 1; i < len; i++){
//遍历数组,0和1交替时改变j值
if (a[i] != a[i - 1])j++;
cnt[j]++;
}
ch = a[len - 1];}//记录每行最后一个数字
printf("%d ",num);
printf("%d ",cnt[0]);
for (i = 1; cnt[i]!= 0; i++)
printf("%d ",cnt[i]);
return 0;
}
知识总结:1粗看本题