(许久不见,甚是想念)
洛谷上滴算法标签:
然而这是一道入门难度的题。(不管不管,就写它了)
好的先说一下思路吧wait!我忘记了咋做的当时。
首先做题第一道坎儿,如何输入若干个(不知道具体数值)的数。这个时候我们要灵活的利用字符来做:(突然想说我定义的“空格”字符的意义。dy微分了解一下)
char dy=' ';//定义一个“空格”字符 int i=1;//定义i用来记录输入了几个数 while(dy==' ')//当输入数据后输入空格,程序继续。若为回车则退出输入 { cin>>a[++i];//输入一个数据 dy=getchar();//getchar一个空格=dy }
接下来打印字符:
数组所对应的数值交替代表0和1,很显然,当某一行排列到n时,我们需要换行
也就是:
cout<<endl;
好的我又不想写了
我们直接附ac的代码吧:
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<string> using namespace std; int n;int a[201]; void print(int); int main() { cin>>n; char dy=' '; int i=1; while(dy==' ') { cin>>a[++i]; dy=getchar(); } int d=i; print(d); } void print(int x) { int sum=0; for(int i=1;i<=x;i++) { for(int j=1;j<=a[i];j++) { if(i%2==1) { cout<<"1"; sum++; } if(i%2==0) { cout<<"0"; sum++; } if(sum==n) { cout<<endl; sum=0; } } } }