编程计算5*5的矩阵中下三角元素之和。下三角元素就是主对角线以下的元素(含主对角线)。
思路:
1.输入:遍历行输入每一列的数据;
2.计算下三角元素和:
这里重要的是,遍历每一行,然后列呢,注意看图中下三角是从 第 i 行 的 第0列,到第 i 列,所以列的遍历是从 0 到 i;
int sum = 0;
for(int i = 0; i < 5; i++){
for(int j = 0; j <= i ; j++){
sum += a[i][j];
}
}
代码如下:
#include <stdio.h>
int main(){
int a[5][5]; // 5 * 5 矩阵
// 遍历行输入每一列
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
scanf("%d", &a[i][j]);
}
}
// 计算 下三角元素之和
int sum = 0;
for(int i = 0; i < 5; i++){
for(int j = 0; j <= i ; j++){
sum += a[i][j];
}
}
printf("下三角元素之和为:%d\n",sum);
return 0;
}
程序输出为 220 :
计算器计算结果为 220:
#include <stdio.h>
int main()
{
int a[5][5], i, j, sum = 0;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
{
scanf("%d",&a[i][j]);
if(i>=j)
sum += a[i][j];
}
}
printf("%d", sum);
return 0;
}
a[i][j]表示这个矩阵,i表示横排,j表示竖排,for(i;;)嵌套for(j; j<=i; ),省略了部分表达式。
供参考:
#include <stdio.h>
#define N 5
int main()
{
int a[N][N], i, j, sum;
for (i = 0; i < N; i++) { //数组赋值并输出
for (j = 0; j < N; j++) {
a[i][j] = i * N + j;
printf("%3d", a[i][j]);
}
printf("\n");
}
printf("\n");
for (i = 0, sum = 0; i < N; i++) {//下三角元素之和
for (j = 0; j <= i; j++)
sum += a[i][j];
}
printf("%d", sum);
return 0;
}
C语言二维数组是一个数组的数组,即一个数组中的每个元素都是一个一维数组。可以通过两个下标来访问二维数组中的元素,第一个下标表示行号,第二个下标表示列号。例如,int a[3][4]定义了一个3行4列的二维整型数组,可以通过a[row][col]来访问其中的元素。
下面是计算5*5矩阵下三角元素之和的C语言代码:
#include <stdio.h>
int main()
{
int matrix[5][5] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}
};
int sum = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j <= i; j++) {
sum += matrix[i][j];
}
}
printf("下三角元素之和为:%d\n", sum);
return 0;
}
首先定义一个5行5列的二维数组matrix,然后用两个嵌套的for循环遍历数组中的下三角元素,累加它们的值到变量sum中。最后输出下三角元素之和。