leiteorz @ 2021-08-21 20:27:27
#include <stdio.h>
#include <stdlib.h>
int a[100001];
int main()
{
int n;
scanf("%d",&n);
int i;//控制循环次数
int j;//控制打印
int s=0;
int b=1;//控制换行
int k=0;//压缩码有多少数字
for(i=0;;i++,k++)//录入压缩码
{
scanf("%d",&a[i]);
s+=a[i];
if(s==n*n)//控制停止
{
break;
}
}
for(i=0;i<=k;i++)//控制压缩码是第几个
{
for(j=0;j<a[i];j+=a[i])//控制打印
{
if(i%2==0)
{
printf("0");
}
else
{
printf("1");
}
b++;
if(b%n==0)//控制换行
{
printf("\n");
}
}
}
return 0;
}
by _Cppsteve_ @ 2021-08-21 20:51:45
@leiteorz
if(s==n*n)//控制停止
{
break;
}
这一段好像有一点点古怪。。
应该是i==n*n
,不是吗???
by GODking @ 2021-08-21 20:53:39
for(j=0;j<a[i];j+=a[i])//控制打印
j+=a[i]改为j++
b++
if(b%n==0)//控制换行
{
printf("\n");
}
改为
if(b==n)//控制换行
{
b-=n;
printf("\n");
}
b++;
by GODking @ 2021-08-21 20:55:05
@Cppsteve 这里的s是总和的意思↓
s+=a[i];
by _Cppsteve_ @ 2021-08-21 20:57:47
@leiteorz
提供AC记录:https://www.luogu.com.cn/record/54970238
如果无法查看源代码请私信。
私信:
by _Cppsteve_ @ 2021-08-21 20:58:26
@白揍流星 好的,谢谢。。
by leiteorz @ 2021-08-21 21:14:20
@白揍流星 谢谢大佬qwq,写题的时候比较不仔细