数组_习题:编写一个4*4矩阵元素对角线之和的程序
2014-04-14 10:58
489 查看
# include <stdio.h>
int main(void)
{
int a[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i, j, sum1, sum2;//定义sum1,sum2,分别存放两条对线元素的和;
sum1=sum2=0;
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
printf("%-5d", a[i][j]);// 输出该数组矩阵;
printf("\n");
}
printf("\n第一条对角线的元素值分别为:\n");
for(i=0; i<4; i++)
{
printf("a[%d][%d]=%-3d", i, i, a[i][i]);//打印第一条对角线的元素及其值;
sum1 += a[i][i]; //求出第一条对角线的元素和;
}
printf("\n其元素的和值为:%d\n", sum1);
printf("\n第二条对角线的元素值分别为:\n");
j = 3;//第二条对角线元素为a[0][3]、a[1][2]、a[2][1]、a[3][0],用j的值约束列的值;
for(i=0; i<4; i++)
{
printf("a[%d][%d]=%-3d", i, i+j, a[i][i+j]);//打印第二条对角线的元素及其值;
sum2 += a[i][i+j]; //求出第二条对角线的元素和;
j-=2; //第二条对角线元素列的值每次-1,但是行的值每次+1,所以j的值每次-2;
}
printf("\n其元素的和值为:%d\n", sum2);
printf("\n两条对角线元素的和值为:%d\n", sum1+sum2);
return 0;
}
/* 该程序在VC++6.0中的执行结果如下:
------------------------
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
第一条对角线的元素值分别为:
a[0][0]=1 a[1][1]=6 a[2][2]=11 a[3][3]=16
其元素的和值为:34
第二条对角线的元素值分别为:
a[0][3]=4 a[1][2]=7 a[2][1]=10 a[3][0]=13
其元素的和值为:34
两条对角线元素的和值为:68
------------------------
int main(void)
{
int a[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i, j, sum1, sum2;//定义sum1,sum2,分别存放两条对线元素的和;
sum1=sum2=0;
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
printf("%-5d", a[i][j]);// 输出该数组矩阵;
printf("\n");
}
printf("\n第一条对角线的元素值分别为:\n");
for(i=0; i<4; i++)
{
printf("a[%d][%d]=%-3d", i, i, a[i][i]);//打印第一条对角线的元素及其值;
sum1 += a[i][i]; //求出第一条对角线的元素和;
}
printf("\n其元素的和值为:%d\n", sum1);
printf("\n第二条对角线的元素值分别为:\n");
j = 3;//第二条对角线元素为a[0][3]、a[1][2]、a[2][1]、a[3][0],用j的值约束列的值;
for(i=0; i<4; i++)
{
printf("a[%d][%d]=%-3d", i, i+j, a[i][i+j]);//打印第二条对角线的元素及其值;
sum2 += a[i][i+j]; //求出第二条对角线的元素和;
j-=2; //第二条对角线元素列的值每次-1,但是行的值每次+1,所以j的值每次-2;
}
printf("\n其元素的和值为:%d\n", sum2);
printf("\n两条对角线元素的和值为:%d\n", sum1+sum2);
return 0;
}
/* 该程序在VC++6.0中的执行结果如下:
------------------------
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
第一条对角线的元素值分别为:
a[0][0]=1 a[1][1]=6 a[2][2]=11 a[3][3]=16
其元素的和值为:34
第二条对角线的元素值分别为:
a[0][3]=4 a[1][2]=7 a[2][1]=10 a[3][0]=13
其元素的和值为:34
两条对角线元素的和值为:68
------------------------
相关文章推荐
- 编写一个C#程序,要求定义一个行数和列数相等的二维数组, 并执行初始化,然后计算并输出数组两条对角线上的元素之和。
- 编写程序输入一个n*n的矩阵,求出两条对角线元素值之和
- 编写程序,求矩阵M[4][4]两条对角线元素值的和
- 求一个4*4矩阵两对角线元素之和 设计一个程序
- 编写程序输入一个n*n的矩阵,求出两条对角线元素值之和(注意把输入的元素写入二维数组的方式)
- 习题 6.3 求一个3*3的整型矩阵对角线元素之和。
- 编写一个通用程序,将二维数组含有最大元素的列与第0列元素对调。例如,原数组和调换后的目标数组为
- 编写程序,生成一种贯穿10*10字符数组(初始时全为字符'.')的“随机步法”。程序必须随机地从一个元素“走到”另一个元素,每次都向上、向下、向左或向右移动一个元素位置
- 算法习题45:对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一;;;一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值
- 编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值为5,4,3,2,1。
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。
- 1.1至100一百个自然数(无序),放入一个99个元素的数组a[99],用java语言编写一段程序,找出没有被放入数组这个数。【转】
- 编写一段程序,将含有整数元素的vector对象复制给一个整形数组;
- 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出。
- XYNU OJ 1091: 习题6-3 求整型矩阵对角线元素之和
- 编写一个程序,创建两个8元素的double数组,第一个数组有用户键入8个值,第二个为第一个的累积,例如,第二个数组的第四个元素应该等于第一个数组的前四个元素之和
- 编写程序,使用指针把一个int型数组的所有元素设置为0
- 编写一个Java程序,创建制定长度的int型数组,并生成100以内的随机数为数组的每个元素赋值
- Java-第十四章-带参的方法(二)-编写程序,向整型数组的指定位置插入元素,并输出前后的值
- 设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1..n(n+1)/2]中,对上述任一元素aij(1<=i,j<=n,且i<=j)在B中的位置为()