c语言二维数组求输出回形数组,题目如图

如题所述

按照你的要求编写的用二维数组输出回形数组的C语言程序如下

#include <stdio.h>

int main()



  int N,i,j,k,n,m,count=1;

  scanf("%d",&N);

  int a[N][N];

  if(N%2==0){

   n=N/2;

  }else{

   n=N/2+1;

  }

  for(i=0;i<n;i++){

   for(j=i;j<N-i;j++){

    a[i][j]=count++;

   }

   k=N-i-1;

   for(j=i+1;j<N-i;j++){

    a[j][k]=count++;

   }

   for(j=N-i-2;j>=i;j--){

    a[k][j]=count++;

   }

   for(j=N-i-2;j>=i+1;j--){

    a[j][i]=count++;

   }

  }

  for(i=0;i<N;i++){

   for(j=0;j<N;j++){

    printf("%-3d",a[i][j]);

   }

   printf("\n");

  }

  printf("\n");

 return 0;

}

运行结果

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答