今日分享一道经典笔试编程题。

正常秋招中,笔试题目一般一张卷子有选择题、填空题、简答题、编程题等题目(如大疆、景嘉微、小米等大部分企业)。也有一些企业只有两道编程题,一道50分,答对一道甚至一道case 60%就有面试机会(如阿里)。

 

题目:求矩阵主对角线元素及副对角线元素之和

答案:

#include<stdio.h>

int main()
{
 int i,j;
 int a[3][3];
 int s = 0,t = 0;
 
 for(i = 0;i < 3;i++)
 { 
  for(j = 0;j < 3;j++)
  { 
   scanf("%d",&a[i][j]);  //输入
  } 
 } 
 
 for(i = 0;i < 3;i++){
  s += a[i][i];
 }
 
 
 for(i = 0;i < 3;i++){
  t += a[i][3-i-1];    //注意这里
 } 
 
 printf("%d %d",s,t);
 
 return 0 ;
}

分析:此题目关键在于副对角线数字的求和如何表示。

拔高:此题目可以扩展成多维数组,也可以扩展成自行指定矩阵数字按序自增。

矩阵变化类题目一般是找规律,如果没有找到规律,尽量把给出的测试用例先实现,或许可以case 10%-20%,即便最后没有case 100%,也会酌情给分。(说明:case 20%就是有20%的测试用例通过)