㈠ c語言 求矩陣對角線元素的和
1、首先我們打開Dev-c++軟體,點擊「新建源代碼」。
㈡ C語言編程:求N鍵方陣對角線的和
在這里假設
a[N][N];是一個n階方陣,結果保存在sum裡面。
類型你自己定義吧。
sum=0;
//下面是主對角線
for(i=0;i<N;i++)
{
sum+=a[i][i];
}
//如果,還需要把副對角線也加起來的話。就需要下面的循環。
for(i=0;i<N;i++)
{
sum+=a[i][N-i];
}
//如果N是奇數的話,則最中間的那個值會加2次。如果需要把它減去,則在使用下面這一句
if(N%2)
{
sum-=a[N/2][N/2];
}
sum
裡面保存的就是你需要的和了。
㈢ 想請教大佬們一道C語言題:求一個n*n矩陣的對角線元素之和(是兩個對角
#include<stdio.h>
#defineN3
voidmain()
{
inti,j,a[N][N],s=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
scanf("%d",&a[i][j]);
if(i==j||(i+j==N-1&&i!=j))s+=a[i][j];
}
printf("對角線之和=%d",s);
}
㈣ 用C語言編程求一個矩陣的主對角線之和,和次對角線之和
////////////////////////////19////////////////////////////////////
#include<stdio.h>
#define
N
10
main()
{
int
i,j,k;
int
a[N][N],sz=0,sf=0;
for
(i=0;i<N;i++)
{
for
(j=0;j<N;j++)
{
a[i][j]=i+j;//此處是矩陣的初始化
printf("%3d
",a[i][j]);
}
printf("\n");
}
for
(i=0;i<N;i++)
{
for
(j=0;j<N;j++)
{
sz=sz+a[i][j];
}
for
(k=0;k<N;k++)
{
sf=sf+a[i][k];
}
}
printf("主對角線之和是%d\n副對角線之和是%d\n",sz,sf);
}
㈤ 急求!c語言 求N*N矩陣中主對角線和次對角線的元素之和
#define N 10;
main()
{
int i,j;
int a[N][N];
int sum=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(i==j||(i+j==N))//i==j是判斷是否主對角線的元素 i+j==N 是判斷是否是次對角線的元素
sum+=a[i][j];
printf("%d",sum);
}
㈥ 求矩陣對角線數字之和,編寫函數,從主函數中調用,c語言
#include<stdio.h>
#include<io.h>
#defineROW3/*數組行數*/
#defineCOLROW/*數組列數=行數*/
intsum(intdata[ROW][COL])
{
/*求數組data中非對角線元素之和*/
intx,y,sum=0;
for(x=0;x<ROW;x++)/*遍歷數組查找對角線元素*/
for(y=0;y<COL;y++)/*主對角線座標x==y,副對角線座標x+y=ROW-1*/
if(x==y||x+y==ROW-1)/*如果是對角線元素*/
sum+=data[x][y];/*累加*/
returnsum;
}
intmain()
{
inttest[ROW][COL]={1,2,3,
4,5,6,
7,8,9};
printf("矩陣對角線數字之和=%d ",sum(test));/*測試並輸出*/
return0;
}
㈦ c語言題目:輸入一個n*n矩陣個元素的值,求出兩個對角線元素之和。
測試用例,時間復雜度O(n),空間復雜度O(1)
public static void main(String[] args) {
int[] res = diagonalAnd(new int[][]{{1, 2, 3}, {1, 1, 1}, {3, 2, 1}});
System.out.println(Arrays.toString(res));
}
public static int[] diagonalAnd(int[][] matrix){
int res1 = 0;//左上角-->右下角
int res2 = 0;//右上角-->左下角
int len = matrix.length;
for (int i = 0; i < len; i++) {
int n1 = matrix[i][i];
int n2 = matrix[i][len-i-1];
res1 += n1;
res2 += n2;
}
return new int[]{res1,res2};
㈧ C語言求n階矩陣主對角線之和,程序哪裡錯了
其實代碼的前半部分是沒有問題的,後面有一個小問題,在於最後輸出矩陣的時候,
for循環
的條件有誤,題主寫的是:i<=n和j<=n,但是應該分別是i<n和j<n。
㈨ C語言輸入一個n×n的整數矩陣,分別計算兩個對角線的和
#include <stdio.h>
int main()
{
int n;
int a[100][100];
int sum1=0;
int sum2=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
if(i==j)
{
sum1+=a[i][j];
}
else if(j==n-i+1)
{
sum2+=a[i][n-i+1];
}
}
}
printf("%d %d",sum1,sum2);
return 0;
}
㈩ c語言 按行輸入3行3列矩陣A的各元素,計算主對角線之和並輸出
C語言程序如下:
#include<stdio.h>
int main()
{
int a[3][3],sum=0;
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)
sum=sum+a[i][j];
printf("sum=%d ",sum);
return 0;
}
稱為對角元素
因此,計算主對角線之和並輸出的思路就是判斷矩陣數組元素是否是主對角元素,如果數組元素的兩個下標相等,則該數組元素為對角元素。