题目描述
【问题描述】从键盘上依次输入一个4行4列的二维整形数组的元素值,求其主对角线的元素和。
【输入形式】依次输入二维数组元素的值,用空格分开
【输出形式】主对角线元素和
【样例输入】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
【样例输出】34
解题思路
存储到二维数组中然后定义变量sum=0,遍历加上行下标等于列下标的元素即可。
源代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main() {
int lst[4][4], i, j, sum = 0, (*p)[4] = lst;
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++)
scanf("%d", (*(p + i) + j));
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++)
if (i == j)
sum += *(*(p + i) + j);
printf("%d", sum);
return 0;
}
总结
简单二维数组运用,读者可以对小编的代码时间复杂度优化为O(n)