1. 程式人生 > >19屆第四範式測試開發工程師校招-編程題

19屆第四範式測試開發工程師校招-編程題

() turn error include scanf 判斷 關於 是否 http

編程題兩道,第一道關於SQL的聯合查詢跟第二排序,第二道關於二維數組。

題目2:

給定一個空的int類型的二維數組array[n][m]。按下面的填充規則,請編寫一個函數將此二維數組填滿並打印出來。

1 2 4 7
3 5 8 11
6 9 12 14
10 13 15 16

輸入描述:輸入的包括兩個正整數,表示二維數組的大小n,m(1<=n,m<=10)

輸出描述:打印結果,每行行末無空格。

例1:輸入為4 4

輸出為

1 2 4 7

3 5 8 11

6 9 12 14

10 13 15 16

思路:首先先找出規律,是按照i+j=(0,1,2,n*m)來遞增賦值。接下來就是編寫程序了。

代碼如下

 1 #include <iostream>
 2 #include<stdio.h>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int n,m;
 8     scanf("%d %d",&n,&m);
 9     int a[100][100]={1},com=1;
10     if(n>=1&&n<=10&&m>=1&&m<=10)  //判斷下標是否超出
11     {
12         for(int k=1;k<=n*m;k++)
13         {
14             for(int i=0;i<n;i++)
15             {
16                 for(int j=0;j<m;j++)
17                 {
18                     if(i+j==k)
19                     {
20                         a[i][k-i]=com+1;
21                         com=a[i][k-i];
22                     }
23                 }
24             }
25         }
26         for(int i=0;i<n;i++)   //輸出二維數組
27         {
28             for(int j=0;j<m;j++) cout<<a[i][j]<<" ";
29             cout<<endl;
30         }
31     }
32     else cout<<"error"<<endl;
33     return 0;
34 }

技術分享圖片

技術分享圖片

技術分享圖片

19屆第四範式測試開發工程師校招-編程題