XSean @ 2022-08-15 22:53:17
第11~14行看不懂,第42~45行看不懂
#include <stdio.h>
int main(void)
{
char map[200][201];
int i,j;
int flag = 0,r = 0,count = 0;
while(scanf("%s", map[r]) != EOF)//11
{//12
r++;//13
}//14
printf("%d", r);
for(i = 0; i < r; i++)
{
for(j = 0; j < r; j++)
{
if(map[i][j] == '0')
{
if(flag) //在判断字符是否为'1'的状态下,出现了'0',则输出结果
{
printf(" %d", count);
flag = 0;
count = 0;
}
count++;
}
else
{
if(!flag) //在判断字符是否为'0'的状态下,出现了'1',则输出结果
{
printf(" %d", count);
count = 0;
flag = 1;
}
count++;
}
}
}
if(count > 0)//42
{//43
printf(" %d", count); //压缩码里的最后一个数 //44
}//45
return 0;
}
by する @ 2022-08-15 23:26:05
11到14其实就是判换行的,42到45是因为最后一次肯定没有统计,其实那个判断完全可以删掉
by XSean @ 2022-08-16 08:58:28
@する 11-14行可以再详细一点吗,谢谢啦
by する @ 2022-08-16 10:33:40
百度吧,我一般不用scanf的,直接while(cin>>a)的
by Always_Remember_It @ 2022-08-16 13:02:35
@Sean_xzx 就是一直输入,输入若干个数的意思(好像是输出^E停止,我也忘了,反正他就会自动输入若干个数吧) (
by XSean @ 2022-08-16 15:06:45
@zswmb map不是二维数组吗
by XSean @ 2022-08-16 15:08:22
@する 那while(cin>>a)应该怎么用?(包括它的返回值,以及a的适用类型)
by Always_Remember_It @ 2022-08-16 15:56:05
@Sean_xzx char 型一次可输一串比如Char a[100] 输入只要cin》a
by XSean @ 2022-08-16 16:03:29
@zswmb 那scanf("%s", map[r])
1.map[r]是第一行吗 2.为什么map[r]没有取地址符&