ikun11 @ 2023-01-01 12:17:10
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
char a;
int j=0,i=0,k=0;
int flag=0,n;
int m[40000]={0};
while(~scanf("%c",&a))
{
if(a!='\n')
{
i++;
}
if(a=='\n'&&flag==0)
{
flag=1;
n=i;
}
if(a=='0'&&j==0)
{
m[k]++;
}
by 蛋蛋工作室 @ 2023-01-01 12:28:08
代码没发完吧
by ikun11 @ 2023-01-01 15:36:54
是的,谢谢,这下应该是完整的了
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
char a;
int j=0,i=0,k=0;
int flag=0,n;
int m[40000]={0};
while(~scanf("%c",&a))
{
if(a!='\n')
{
i++;
}
if(a=='\n'&&flag==0)
{
flag=1;
n=i;
}
if(a=='0'&&j==0)
{
m[k]++;
}
if(a=='0'&&j==1)
{
k++;
m[k]=1;
j=0;
}
if(a=='1'&&j==1)
{
m[k]++;
}
if(a=='1'&&j==0)
{
k++;
m[k]=1;
j=1;
}
}
printf("%d ",n);
for(i=0;i<=k;i++)
{
printf("%d ",m[i]);
}
return 0;
}
by BlessBELL @ 2023-01-03 15:19:40
这个代码在我这里跑不起来?输入数据后无法输出结果。
by ikun11 @ 2023-01-06 20:24:01
@BlessBELL 谢谢大佬。这个的问题已经解决了,是因为'\n',好像不能识别这个。可能是因为不同系统不一样?
by ikun11 @ 2023-01-06 20:30:51
@BlessBELL 输入数据后要换行,按Ctrl+z再回车才能输出,您是不是忘这个了?