c語(yǔ)言用函數(shù)求方陣和 如何用C語(yǔ)言實(shí)現(xiàn)矩陣的運(yùn)算

c語(yǔ)言編寫(xiě)一個(gè)函數(shù)sum,實(shí)現(xiàn)求4*5的矩陣所有元素和.

int Sum(int juzhen[4][5])

耀州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!

{

int i, j, sum = 0;

for (i = 0; i 4; i++) {

for (j = 0; j 5; j++) {

sum = sum + juzhen[i][j];

}

}

return sum;

}

int main()

{

int juzhen[4][5] =

{

{1, 2, 3, 4, 5},

{1, 2, 3, 4, 5},

{1, 2, 3, 4, 5},

{1, 2, 3, 4, 5}

};

int sum = Sum(juzhen);

printf("和是:%d", sum);

return 0;

}

這樣的嗎?

用c語(yǔ)言求一個(gè)n階方陣的所有元素之和,并給出算法的時(shí)間復(fù)雜度

#include stdio.h

#include stdlib.h

#define N 3

int main(void)

{

int a[N][N] = {1,2,3,4,5,6,8,7,9};

int iterx = 0, itery = 0;

int sum = 0;

for(iterx = 0; iterx N; iterx++)

{

for(itery = 0; itery N; itery++)

{

sum += a[iterx][itery];

}

}

printf("the sum is %d\n", sum);

return 0;

}

時(shí)間復(fù)雜度O(N的平方)!遍歷整個(gè)矩陣,肯定要把所有元素走一遍。

C語(yǔ)言:編寫(xiě)程序求任意方陣每行、每列、兩對(duì)角線(xiàn)一元素之和。

先將方法告訴你:

a[n][n]

這是一個(gè)n*n的方陣

for(int i=0;in;i++)

s+=a[x][i];

s為第x行的和;

for(int i=0;in;i++)

s+=a[i][x];

s為第x列的和;

for(int j=0;jn;j++)

s+=a[j][j];

s為對(duì)角線(xiàn)的和;

for(int j=0;jn;j++)

s+=a[j][n-1-j];

s為次對(duì)角線(xiàn)的和;

下面是代碼:

// #include"stdio.h"

// #include"stdlib.h"

// #include"time.h"

// #include"conio.h"

#includestdio.h

#includemalloc.h

#includeconio.h

int main()

{

int n,i,j,s;

int **a;

printf("請(qǐng)輸入n值: ");

scanf("%d",n);

fflush(stdin);

a=(int **)malloc(n*n*sizeof(int*));

for(i=0;in;i++)

{

a[i]=(int *)malloc(n*sizeof(int));

}

printf("請(qǐng)輸入矩陣成員值: \n");

for(i=0;in;i++)

{

printf("第%d行: \n",i);

for(j=0;jn;j++)

{

scanf("%d",a[i][j]);

fflush(stdin);

}

}

printf("\n");

printf("輸入的矩陣為: \n");

for(i=0;in;i++)

{

for(j=0;jn;j++)

{

printf("%d ",a[i][j]);

}

printf("\n");

}

printf("\n");

for(i=0;in;i++)

{

s=0;

for(j=0;jn;j++) s+=a[i][j];

printf("第%d行元素之和為: %d\n",i,s);

}

printf("\n");

for(i=0;in;i++)

{

s=0;

for(j=0;jn;j++) s+=a[j][i];

printf("第%d列元素之和為: %d\n",i,s);

}

printf("\n");

s=0;

for(i=0;in;i++)

{

s+=a[i][i];

}

printf("主對(duì)角線(xiàn)元素之和為: %d\n",s);

printf("\n");

s=0;

for(i=0;in;i++)

{

s+=a[i][n-1-i];

}

printf("從對(duì)角線(xiàn)元素之和為: %d\n",s);

for(i=0;in;i++) free(a[i]);

free(a);

getch();

return 1;

}

C語(yǔ)言作業(yè):利用子函數(shù),求方陣的主對(duì)角線(xiàn)之和,并將方陣重新賦值為這個(gè)和值,重新輸出方陣。

#includestdio.h

int arrSum(int a[3][3])

{

int i,j,sum=0;

for(i=0;i3;i++)

{

sum+=a[i][i];

}

for(i=0;i3;i++)

for(j=0;j3;j++)

a[i][j]=sum;

return sum;

}

int main()

{

int sum,i,j,a[3][3];

printf("請(qǐng)輸入一個(gè)3*3的整數(shù)矩陣:\n");

for(i=0;i3;i++)

for(j=0;j3;j++)

scanf("%d",a[i][j]);

sum=arrSum(a);

printf("主對(duì)角線(xiàn)的和為:%d\n",sum);

for(i=0;i3;i++)

{

for(j=0;j3;j++)

{

printf("%d ",a[i][j]);

}

printf("\n");

}

return 0;

}

當(dāng)前文章:c語(yǔ)言用函數(shù)求方陣和 如何用C語(yǔ)言實(shí)現(xiàn)矩陣的運(yùn)算
本文地址:http://www.muchs.cn/article6/doocjog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google服務(wù)器托管、App開(kāi)發(fā)、網(wǎng)站建設(shè)、云服務(wù)器、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)