1. 程式人生 > >如何斜著對陣列進行輸入

如何斜著對陣列進行輸入

今天一個同學問我一個問題,如何對一個二維的三行三列的陣列進行輸入?

如下圖所示:

我首先想到的是需要取模,因為他需要迴圈輸入,而且要保證行和列都在0~2的範圍之內,大約用了半個小時,把程式碼敲了出來,如下:

#include<iostream>
using namespace std;
int main(){
	int num[3][3];
	int a,b;
	for(int i=2;i>=0;i--){
		a=i;
		b=0;
		for(int j=0;j<3;j++){
			cin>>num[a][b];
			a=(a-1+3)%3;
			b=(b+1)%3;
		}
	}
	for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			cout<<num[i][j]<<' ';
		}
		cout<<endl;
	}
	return 0;
}
//1 2 3 4 5 6 7 8 9



第一個for迴圈是進行輸入的,第二個是輸出的

測試結果如下: