了解及掌握二维数组

 第一题:
        题目(单对角线和):

了解及掌握二维数组_第1张图片

        分析: 用结构体的话,太麻烦了,专业一点,用本该属于它的知识点来解决它。
代码:
#include   
  
using namespace std;  
  
int main() {  
    int n;  
    cin >> n;  
    int matrix[n][n];  
    for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            cin >> matrix[i][j];  
        }  
    }  
    int sum = 0;  
    for (int i = 0; i < n; i++) {  
        sum += matrix[i][i];  
    }  
    cout << sum << endl;  
    return 0;  
}
第二题: 
     题目:计算矩阵边缘元素之和   
     题目来源:http://124.222.71.12/problem.php?id=1089

 

 代码:
#include 
using namespace std;
int main()
{
	int m,n,a[101][101];
	int sum=0;
	cin>>m>>n;
	for(int i=0;i>a[i][j];
			if(i==0||i==m-1||j==0||j==n-1)  //非常重要
			{sum = sum +a[i][j];
			}
		}
	}
	cout<
重要知识点: 
if(i==0||i==m-1||j==0||j==n-1)    //矩阵边缘
   
第三题(双对角线和):
    代码:
#include   
  
using namespace std;  
  
int main() {  
    int n;  
    cin >> n;  
    int matrix[n][n];  
    if(n%2==0){
	for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            cin >> matrix[i][j];  
        }  
    }  
    int sum = 0;  
    for (int i = 0; i < n; i++) {  
        sum += matrix[i][i];  
    }
	 
	for(int i=0;i> matrix[i][j];  
        }  
    }  
    int sum = 0;  
    for (int i = 0; i < n; i++) {  
        sum += matrix[i][i];  
    }
	 
	for(int i=0;i
重要知识点:

       如果n是奇数,会多加一个二维数组的[n/2+1][n/2+1],所以用if语句判断奇偶。

结语:二维数组大概了解的差不多了,刷题去吧!!!

程序员的必备技能:

        有时候自己觉得代码一点问题都没有,连问身边的人也没看出毛病,就说问题出在电脑,出在编辑器,这时候,你要意识到,其实你和电脑,编辑器都没有错,只不过你在输入代码是弄错了一点,需要你仔细仔细仔细仔仔细细的检查一遍,去找出小错误并改正,这是出现程序员的必经之路。  (今天我找一个小错误找了将近一小时,突然想写点东西让自己永远记住。)

你可能感兴趣的:(大一新生C/C++入门程序作业,算法)