从键盘输入一个4*4矩阵,并求这个4*4矩阵主对角线元素之和,并输出.球C语言编程

如题所述

# 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;

}

运行结果:

扩展资料:

printf()用法:

1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。

格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。

2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。

printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-26
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[4][4];
int i=0;
int sum=0;
printf("输入4*4矩阵的各元素:\n");
for(;i<16;i++)
{
scanf("%d",&a[i/4][i%4]);
}
for(i=0;i<4;i++)
{
sum+=a[i][i];
sum+=a[i][3-i];
}
printf("该对角线元素之和sum=%d\n",sum);
getchar();
getchar();
}本回答被提问者和网友采纳
第2个回答  2012-09-22
#include<stdio.h>

#define N 4
int main()
{
int i,j,sum=0,a[N][N];
printf("请输入4*4矩阵的各元素:\n");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
scanf("%d",&a[i][j]);
if(i==j)
{sum+=a[i][i];}
}
printf("主对角线元素之和:%d\n",sum);
return 0;
}
这样可以么?
第3个回答  2012-09-22
#include<stdio.h>
int main()
{
int a[4][4],sum=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(i==j)
sum=sum+a[i][j];
}
}
printf("%d",sum);

return 0;}
相似回答