社区讨论

求助 答案对的上 为什么0分

P5731【深基5.习6】蛇形方阵参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo19psll
此快照首次捕获于
2023/10/22 17:30
2 年前
此快照最后确认于
2023/11/02 17:47
2 年前
查看原帖
CPP
#include<stdio.h>
int main()
{
	int n,m,i,j,k,o,l;
	scanf("%d",&n);
	float q;
	int a[n][n];
	int b[2*n-1];
	for(i=1,m=n,b[0]=n;i<n;i++)
	{   m--;
		b[2*i]=m;
		b[2*i-1]=m;
	}
    for(o=0,i=0,j=0,k=1,m=0,q=0;o<2*n-1;o++,m++,q=q+0.25,m=q)//i行 j列 
	    if((o+1-4*m)%4==0) //上  4
	       {
		    for(l=0;l<b[o];l++,k++)
                {	
	            i--;
	            a[i][j]=k;
	            }
	        j=j+1;
	       }
	    else if((o+1-4*m)%3==0) //左  3 
	            for(l=0;l<b[o];l++,k++)
                	{	
	                j--;
	                a[i][j]=k;
	                }
        else if((o+1-4*m)%2==0)//下  2
    	        for(l=0,j=j-1;l<b[o];l++,k++)
                    {	
                    i++;
	                a[i][j]=k;
	                }
	   else//右    1
	        {
		    for(l=0;l<b[o];l++,j++,k++)
		    a[i][j]=k; 
        	}
	for(i=0;i<n;i++)
	   {
	   for(j=0;j<n;j++)
	     printf("%2d ",a[i][j]);
		 printf("\n");
		 }
	 return 0;
 } 

回复

3 条回复,欢迎继续交流。

正在加载回复...