输入4行4列的二维数组,求计算主对角线各元素之和,计算副对角线各元素之和。

2358101245761023i=0to3j=0to3if(i==j)sum=sum+a[i][j]... 2 3 5 8
1 0 1 2
4 5 7 6
1 0 2 3 i=0 to 3
j=0 to 3
if(i==j)
sum=sum+a[i][j]
展开
 我来答
问明6E
高粉答主

2019-05-23 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.8万
展开全部

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

}

扩展资料:

system.out.printf()的使用方法

//"%"表示进行格式化输出,"%"之后的内容为格式的定义。

System.out.printf("%f",d);//"f"表示格式化输出浮点数

System.out.println();

System.out.printf("%9.2f",d);//"9.2"中的9表示输出的长度,2表示小数点后的位数。

System.out.println();

System.out.printf("%+9.2f",d);//"+"表示输出的数带正负号

System.out.println();

System.out.printf("%-9.4f",d);//"-"表示输出的数左对齐(默认为右对齐)。

System.out.println();

System.out.printf("%+-9.3f",d);//"+-"表示输出的数带正负号且左对齐。

System.out.println();

System.out.printf("%d",i);//"d"表示输出十进制整数。

System.out.println();system.out.printf("%02d",2);

%d表示打印整型的,

%2d表示把整型数据打印最低两位,

%02d表示把整型数据打印最低两位,如果不足两位,用0补齐,

所以打印出来就是02了。

风林火陰山雷
推荐于2017-11-26 · TA获得超过1.1万个赞
知道大有可为答主
回答量:2569
采纳率:100%
帮助的人:1967万
展开全部
您好!很高兴为您解答。

程序如下:

#include<stdio.h>

void main()
{
int i,j,sum=0,a[4][4];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(i==j) sum=sum+a[i][j];
}
}
printf("主对角线元素之和:%d\n",sum);
}
已通过编译。

望采纳~如您还有不解,欢迎追问~
追问
辅助角线元素之和怎么写?
追答
不好意思,看漏了……

#include

void main()
{
int i,j,sum1=0,sum2=0,a[4][4];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(i==j) sum1+=a[i][j];
if(i+j==3) sum2+=a[i][j];
}
}
printf("主对角线元素之和:%d\n",sum1);
printf("辅对角线元素之和:%d\n",sum2);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式