用C语言编写一个3x3的二维数组,求对角线的和 用c语言任意输入一个3行3列的二维数组,求对角元素之和

作者&投稿:肇谈 (若有异议请与网页底部的电邮联系)
这个很简单啊 3x3的二维数组 你自己定义为 int A[x][y]; (你这题x=3,y=3;)
对角线你自己看下 是不是有主对角线和副的? 主的好求 在循环里 只有当x = y的时候就把他们的值相加 最后就是主对角线的值
副对角线的话你看下 第一个是不是 x=1 y=2 第二个x=2 y=2 第三个x=2 y=1 也是在循环里用个判断写下就OK了
最后的结果就是两对角线的和了 你好好做下看看

#include <stdio.h>

main( )
{
int a[3][3]={{1,2,3},{2,3,4},{4,5,6}};
int i,j,total=0;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf("%d\t",a[i][j]);
if (i==j)
{
total+=a[i][j];
}
}
printf("\n");
}
printf("total=%d\n",total);
}

不知道是不是这样
#include <stdio.h>
void main(){
int a[3][3];
int i,j,n,sum;
n=3;
sum=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
a[i][j]=j;
printf("%d ",a[i][j]);
}
printf("\n");
}
for(i=0;i<n;i++)
for(j=0;j<n;j++){
if(i==j || i+j=n-1)sum+=a[i][j];
}
printf("the sum in tow line:%d",sum);
}

用C语言编程:求一个3x3的整型二维数组对角线元素之和。~

int main(void)
{
int a[3][3],i,j,sum1=0,sum2=0;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
sum1=a[0][0]+a[1][1]+a[2][2];
sum2=a[0][2]+a[1][1]+a[2][0];
printf("%d,%d",sum1,sum2);
getchar();
getchar();
return 0;


}

#include #define M 3#define N 3 void createMatrix(int matrix[M][N], int m, int n) { /*创建矩阵*/ int i,j; printf("开始输入矩阵内容(%d行%d列)
",m,n); for(i=0;i<m;i++) { printf("输入第%d行的%d个元素:",i+1,n); for(j=0;j<n;j++) scanf("%d",&matrix[i][j]); }} void printMatrix(int matrix[M][N], int m, int n) { /*打印矩阵*/ int i,j; for(i=0;i<m;i++) { for(j=0;j<n;j++) printf("%d",matrix[i][j]); printf("
"); }} void printMatrix_diagonal(int matrix[M][N], int m, int n) { /*打印对角线元素和*/ int i,j; for(i=0;i<m;i++) { for(j=0;j<n;j++) if (i==j||i+j==M-1) printf("%d",matrix[i][j]); else printf(" "); printf("
"); }} int diagonalSum(int matrix[M][N], int m, int n) { /*求对角线元素和*/ int i,j,sum=0; for(i=0;i<m;i++) { for(j=0;j<n;j++) if (i==j||i+j==M-1) sum+=matrix[i][j]; } return sum;} int main(void) { int matrix[M][N]; createMatrix(matrix, M, N); printf ("======================================================

"); printf ("您输入的矩阵为:
"); printMatrix(matrix, M, N); printf ("对角线元素为:
"); printMatrix_diagonal(matrix, M, N); printf ("对角线元素之和为:
"); printf ("%d
",diagonalSum(matrix, M, N)); return 0;}

用C语言定义一个3*3的二维数组,编写一个程序查找并输出此二
答:5,4},{2,1,9}}; int i,j,cloSum[3]={0},rowSum[3]={0},*min=&nums[0][0]; double rowAve[3],cloAve[3]; printf("原数组:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) {

用C语言编写一个3x3的二维数组,求对角线的和
答:这个很简单啊 3x3的二维数组 你自己定义为 int A[x][y]; (你这题x=3,y=3;)对角线你自己看下 是不是有主对角线和副的? 主的好求 在循环里 只有当x = y的时候就把他们的值相加 最后就是主对角线的值 副对角线的话你看下 第一个是不是 x=1 y=2 第二个x=2 y=2 第三...

C语言,从键盘为一个3*3整形数组输入数据,并找出主对角线上元素的最...
答:思路:键盘输入3*3的二维数组a,接着假设a[0][0]就是最大值,再把a[0][0]与a[1][1]和a[2][2]比较最后输出最大值和最大值行号。参考代码:include<stdio.h>#define n 3int main() { int a[n][n],i,j,max,maxi; for(i=0;i<n;i++)//键盘输入 for(j=0;j<n;j++) ...

c语言中怎样输入一个3*3的二维数组存储到文件中在文件中按顺序输出二...
答:int n)//直接插入排序:对含有n个整数的数组a[]进行从小到大排序{ int i,j,t; for(i=1;i<n;i++) for(j=i-1;j>=0&&a[j]>a[j+1];j--) { t=a[j]; a[j]=a[j+1]; a[j

C语言,如何在子函数中写一个3*3二维数组,给主函数调用!!
答:方法不止一种,我这里用指针的指针实现二维数组。二维数组除了行列,本身地址也是连续的,从第一行第一列的元素地址++,可以取出所有元素。所以我这里先申请了完整的连续地址。include<stdio.h>#include<malloc.h>int ** sr(void){ int i,j; int *memory=(int *)malloc(sizeof(int)*9);...

求C语言程序:编写一个函数,使给定的一个二维数组(3*3)转置。感激不尽...
答:{int i,j,t,a[3][3]={{1,2,3},{4,5,6},{7,8,9}};printf("原来的数组:\n");for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%d ",a[i][j]);printf("\n");} for(i=0;i<2;i++)for(j=i+1;j<3;j++){t=a[i][j];a[i][j]=a[j][i];a[j][i]...

编写一段C语言程序,定义如图所示的一个三行三列的数组,类型为整形...
答:int main(){ int i,j,s1=0,s2=0,a[3][3]= {9,8,7,1,2,3,4,5,6},i1=0,j1=0;printf("二维数组:\n");for(i=0; i<3; i++){ s1+=a[i][i];s2+=a[i][2-i];for(j=0; j<3; j++){ printf("%2d",a[i][j]);if(a[i][j]...

C语言编程。编写一个实现将3*3的二维数组表示的方阵进行顺时针旋转90°...
答:void rotate(int (*a)[3]){ int i,j;int temp[3][3];for (i=0;i<3;i++){ for (j=0;j<3;j++)temp[j][2-i]=a[i][j];} for (i=0;i<3;i++){ for (j=0;j<3;j++)a[i][j]= temp[i][j];} } main(){ int i,j;int a[3][3]= {11,22,33, 44,55...

用c语言任意输入一个3行3列的二维数组,求对角元素之和
答:include<stdio.h> #define M 3#define N 3 void createMatrix(int matrix[M][N], int m, int n) { /*创建矩阵*/ int i,j; printf("开始输入矩阵内容(%d行%d列)\n",m,n); for(i=0;i<m;i++) { printf("输入第%d行的%d个元素:",i+1,n); for(j=0;...

C语言中如何将一个3×3的二维数组,行列互换,并赋值到另一个二维...
答:int main(void){ int array[3][3] = {1,2,3,4,5,6,7,8,9};int array_1[3][3];printf("原始数组:\n");for(int i = 0;i<3;i++){ for(int j = 0;j<3;j++){ array_1[j][i] = array[i][j];printf("%d\t",array[i][j]);} printf("\n");} printf("...