C语言初学,急!在线等!

请自己建立一个三行四列的二维数组(矩阵元素自定),然后编程实现:
①求此矩阵的主对角线元素之和,并求主对角线元素值最大者及其所在行所在列。
②求次对角线元素之和,并求次对角线元素值最小者及其所在行所在列。
③求出上两数之差
④求出该矩阵最外圈元素之和

首先要说的是行列不等的二维数组没有什么主次对角线;下面是3*3的数组程序。
#include <stdio.h>
int main(void)
{
int i,j, a[3][3],sum=0, sum1 = 0,sum2 = 0,sub=0;
int max,min,m,n,x,y;

for (i = 0; i < 3; i++)
for (j = 0; j< 3; j++)
scanf("%d", &a[i][j]);
max=min=a[0][0];
for (i = 0; i < 3; i++)
for (j = 0; j< 3; j++)
{if(i==j){
sum1+=a[i][j];
if(max<a[i][j]){
max=a[i][j];m=i;n=j}}
if(i+j==2){
sum2+=a[i][j];
if(min>a[i][j]){
min=a[i][j]; x=i;y=j;}}
}
sub=sum1-sum2;
printf("%d,%d,%d",sum1,m,n);
printf("%d,%d,%d",sum2,x,,y);
printf("%d,%d",max,min);
printf("%d",sub);
for (i = 0; i < 3; i++)
for (j = 0; j< 3; j++)
{sum += a[i][j];
if((i>0&&j>0)||(I<2&&j<2))
sumn+=a[i][j];}
printf("%d",sum-sumn);

return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-13
#include <stdio.h>

int main(void)
{
int i, n, sum = 0;

for (i = 0; i < 6; i++)
{
scanf("%d", &n);
sum += n * (i + 1) * (i + 1);
}
printf("%d, %d\n", sum, sum / 36 + (sum % 36 ? 1 : 0));
return 0;
}

需要注释吗?能看懂码?追问

需要。。看不懂QAQ

相似回答