如何斜着对数组进行输入

今天一个同学问我一个问题,如何对一个二维的三行三列的数组进行输入?

如下图所示:

我首先想到的是需要取模,因为他需要循环输入,而且要保证行和列都在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循环是进行输入的,第二个是输出的

测试结果如下:

猜你喜欢

转载自blog.csdn.net/Helloirbd/article/details/84782025
今日推荐