马剑杰


私信TA

用户名:zhufenga

访问量:327

签 名:

等  级
排  名 3917
经  验 1811
参赛次数 2
文章发表 2
年  龄 0
在职情况 学生
学  校 盐城师范学院
专  业

  自我简介:

TA的其他文章


解题思路:

注意事项:

参考代码:

#include<stdio.h>
int main()
{
	int N,i,j,a[16],b[16],t,m=1,k=2,n;
	scanf("%d",&N);
	for(i=0;i<N;i++)	
	scanf("%d%d",&a[i],&b[i]);
	for(i=0;i<N;i++)
	{   
	m=1;     //确保重复第一次
	while(b[i]!=0)//跳出循环
	{   
	    k=2;    //通过图解发现第二行的*总在第二个,并逐行+1
	    n=a[i]-1;  //通过图解发现第二行的第二个*总在a[i]-1出,并逐行-1
		if(m==1){                                  //对于重复一次的DNA
			for(t=0;t<a[i];t++)
			{
				for(j=0;j<a[i];j++)
				{
				if((j==t)||(t+j==a[i]-1))    //第一次情况下代码
					printf("X");
				else  
					printf(" ");
				}
			printf("\n");
			}
			b[i]--;  //跳出循环条件
			m=0;  //接下来执行不只重复一次的情况
		}
		else{                                     //重复次数大于1的DNA
		     for(t=0;t<a[i]-1;t++)
			{
				for(j=1;j<=a[i];j++)
				{
				if(j==k&&k<=5){
					printf("X");     //重复次数大于1的情况下接下来重复内容的显示的代码
				  }
				else if(j==n&&n>=1){
					printf("X");
				  }
				else{
					printf(" ");
				  }
			    }
			printf("\n");
			k++;
			n--;
		    }
		    b[i]--;  //跳出循环条件
	   }
	}
    printf("\n");
}
	return 0;
}


 

0.0分

1 人评分

  评论区

  • «
  • »