文章

26

粉丝

0

获赞

13

访问

1.9k

头像
旋转方阵 题解:C++ 需要注意结果的输出格式

#include<bits/stdc++.h>
using namespace std;

int main(){
	int n,index=1,a[30][30]={0};
	cin>>n;
	int left=0,right=n-1,top=0,bottom=n-1;
	while(top<=bottom&&left<=right){
		//从上到下
		for(int i=top;i<=bottom;i++){
			a[i][left]=index;
			index++;
		}
		left++;
		//从左到右
		for(int j=left;j<=right;j++){
			a[bottom][j]=index;
			index++;
		}
		bottom--;
		//从下到上
		for(int i=bottom;i>=top;i--){
			a[i][right]=index;
			index++;
		} 
		right--;
		//从右到左
		for(int j=right;j>=left;j--){
			a[top][j]=index;
			index++;
		} 
		top++;
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			printf("%-4d",a[i][j]);
		}
		cout<<endl;
	}
	return 0;
}

注意输出的格式:

如果是这样%-4d的话,说明空格在数字的后面;

如果直接是%4d的话空格在数字的前面;

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发