Liangzheng123 @ 2022-12-20 17:30:56
#include <stdio.h>
#include <string.h>
int main() {
char s;
char txt[40000]="x",str[200];
scanf("%s", str);//先读入第一行
int n = strlen(str),count=0;
strcat(txt, str); // 将第一行的内容复制到txt当中
for (int i = 1; i <= n-1; i++) {
scanf("%s", str);
strcat(txt, str);
}
printf("%d ", n);
s = txt[1];
for (int i = 1; i < strlen(txt); i++) {
if (s == txt[i]) count++;
else {
printf("%d ", count);
s = txt[i];
count = 1;
}
}
printf("%d", count);
return 0;
}
真的就不明白我哪里不对了,求求大佬解答
by tbdsh @ 2022-12-20 17:53:44
@Liangzheng123
第一个数表示连续有几个 0,第二个数表示接下来连续有几个 1,第三个数再接下来连续有几个 0,第四个数接着连续几个 1,以此类推……
要先输出最开始有几个
例如以下数据:
1
1 0 1
1 1
by Liangzheng123 @ 2022-12-20 20:15:48
@tianbiandeshenghuo11 非常感谢!是我都题目不够仔细