螺旋数组

#include<stdio.h>
int main(){
//声明一个查找函数
int find_array(); 
//n 是声明了一个 
int n=0,num=0;
scanf("%d",&n);
int row=0,column=0;
int array[n][n]; 
//输入一个数组 
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%d",&num);
array[i][j]=num;
}
}
//按题目要求输出一个数组
// temp、temp1、temp2、temp3和t都是中间变量 
int temp1=0,temp=0,t=-1;
int temp2=n-1;
int temp3=n-2;
//循环用来反复输出右上直角和左下直角的数字 
for(int m=0;m<n;m++){
//24-33行代是用来输出右上直角的数 
for(int i=temp;i<n-m&&i>=0;i++){
for(int j=temp1;j<n-m&&j>=0;j++){
if(j==n-m-1){
temp1=n-m-1;
}
printf("%d",array[i][j]);
}
}
//为下次循环做准备 
temp1=m+1;
temp=temp1;
   //35-44行代码用来输出左下直角的数字 
for(int i=temp2;i<=n-m-1&&i>m;i--){
for(int j=temp3;j<n-m-1&&j>=m;j--){
if(j==m){
temp3=m;
}
printf("%d",array[i][j]);
}
   }
//为下次循环做准备 
   temp2=n-m-2;
   temp3=temp2-1; 
    }

}


猜你喜欢

转载自blog.csdn.net/new_buff_007/article/details/78161879