19屆第四範式測試開發工程師校招-編程題
阿新 • • 發佈:2018-09-11
() 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屆第四範式測試開發工程師校招-編程題