校招算法笔面试 | 校招笔面试真题-打印二维数组

题目

题目链接

#题解:
##题目难度:中等难度
##知识点:二维数组
###方法一:

由于输入行列数比较少,所以可以采用遍历整个数组,找到当前数字放入的位置。然后再找下一个数字所放位置。如下表,红色数字为该数组位置行列下标和,与对应填入的数字我们可以通过三层循环,完成数字填入:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

步骤一:最外层循环:每次填入数字的下标和(0到m+n-2)

步骤二:内两层循环:由于存在下标和相同的情况,从图中可以看到,下标相同时行数越小是,所对应的填入数字越小,所以外层循环为遍历行,内层循环为遍历列。

using namespace std;
int a[10][10]; 
int main(){
	int n,m;
	cin>>n>>m;
	int c=1;
	for(int k=0;k<=m+n-2;k++)
	  for(int i=0;i<n;i++) for(int j="0;j<m;j++)即可表示,从初始位置点依次找到该箭头所包含的坐标,其特点为行下标依次增加一,列下标依次减小一,直到超过数字下标范围。" if(i+j="=k)" { a[i][j]="c;" c++; } i="1;i<n;i++)表示。其内部与步骤一内部一致。" cout<<a[i][j]<<" "; cout<<endl; return 0; ```###方法二: 从图可以看出: 步骤一:每个箭头的初始下标(红色箭头),首先是行下标m="0,列下标遍历0-n。用一层循环for(int" 步骤二:箭头初始下标(黑色箭头),行下标遍历1-m,列下标初始值为n-1。该层循环用 ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%20uploadfiles.nowcoder.com%20images%2020200412%20735510_1586704438737_d119068e2422630c22c1eee124a86946%20%22%E5%9B%BE%E7%89%87%E6%A0%87%E9%A2%98%22&pos_id=img-W1fzWobL-1749778805023) #include<iostream>
using namespace std;
int a[10][10];
int main(){
	int n,m;
	cin&gt;&gt;n&gt;&gt;m;
	int c=1;
    for(int j=0;j<m;j++){ for(int i="0,k=j;" ;i++,k--){ if(i<n&&k>=0){
    			a[i][k]=c;
    			c++;
			}else break;
		} 
	}
   for(int i=1;i<n;i++){ for(int k="i,j=m-1;" ;k++,j--){ if(k<n&&j>=0){
   	   	    	a[k][j]=c;
   	   	    	c++;
			}else break;
		  }
   }
   
   for(int i=0;i</n;i++){></m;j++){></n;i++)>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值