#include "stdafx.h" //這是個(gè)什么東東
創(chuàng)新互聯(lián)公司長(zhǎng)期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為安化企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,安化網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
#include stdio.h
int main(int argc, char* argv[])
{
int i,j,c[4][4];
int a[4][4]={{1},{2},{3},{4}};
int b[4][4]={{0,1},{0,2},{0,3},{0,4},};
for(i=0;i4;i++) //這多了一個(gè)分號(hào)
{
for(j=0;j4;j++)
c[i][j]=(a[i][j]+b[i][j]);
}
printf("矩陣A與B相加如下所示:\n");
for(i=0;i4;i++)
{
for(j=0;j4;j++)
printf("%5d",c[i][j]);
printf("\n");
}
return 0;
}
#include?stdio.h
#include?ctype.h
#define?MAX_STR_LEN?100
int?strToInt(char?s[],int?base)?{
int?i?=?0,result?=?0,sign?=?1;
if(s[i]?==?'+')?{?sign?=?1;?++i;?}
else?if(s[i]?==?'-')?{?sign?=?-1;?++i;?}
if(base??10)?{?//?數(shù)基在10以上時(shí)
while(s[i])?{
if(islower(s[i]))?result?=?base?*?result?+?s[i]?-?'a'?+?10;
else?if(isupper(s[i]))?result?=?base?*?result?+?s[i]?-?'A'?+?10;
else?if(isdigit(s[i]))?result?=?base?*?result?+?s[i]?-?'0';
++i;
}
}
else?{?//?數(shù)基為?0?--?10?時(shí)
while(s[i])?{
if(isdigit(s[i])??(s[i]?-?'0'??base))
result?=?base?*?result?+?s[i]?-?'0';
++i;
}
}
return?sign?*?result;
}
int?main()?{
int?base;?
char?s[MAX_STR_LEN];?
while(?(scanf("%d:",?base)?!=?EOF)??(gets(s)?!=?NULL)?)
printf("%d\n",?strToInt(s,?base));?
return?0;?
}
#includestdio.h
void?main()
{
int?a[15][15],i,j,k,t,b;
printf("請(qǐng)輸入一個(gè)3行3列的矩陣:\n");
/*for(i=0;i3;i++)
for(j=0;j3;j++)
scanf("%d",a[i][j]);
printf("請(qǐng)輸入另一個(gè)3行3列的矩陣\n");
for(k=0;k3;k++)
for(t=0;t3;t++)
scanf("%d",a[k][t]);*///----此處覆蓋掉了矩陣1;
for(i=0;i3;i++)
for(j=0;j3;j++)
scanf("%d",a[i][j]);
printf("請(qǐng)輸入另一個(gè)3行3列的矩陣\n");
for(k=0;k3;k++)
for(t=0;t3;t++)
scanf("%d",a[k+3][t+3]);
printf("矩陣【1】\n");
for(i=0;i3;i++){
for(j=0;j3;j++)
printf("%d?",a[i][j]);
printf("\n");
}
printf("矩陣【2】\n");
for(i=0;i3;i++){
for(j=0;j3;j++)
printf("%d?",a[i+3][j+3]);
printf("\n");
}
printf("請(qǐng)選擇要進(jìn)行的運(yùn)算:1?相加?2?相乘\n");
scanf("%d",b);
//----------樓主此處以下的四個(gè)for一一嵌套算出來(lái)的結(jié)果沒(méi)什么意義。
if(b==1)
{
printf("相加:\n");
for(i=0;i3;i++)
for(j=0;j3;j++)
a[i][j]=a[i][j]+a[i+3][j+3];
for(i=0;i3;i++){
for(j=0;j3;j++)
printf("%d\t",a[i][j]);
printf("\n");}
}
if(b==2)
{
printf("相乘:\n");
for(i=0;i3;i++)
for(j=0;j3;j++)
a[i+6][j+6]?=?a[i][0]*a[3][j+3]?+?a[i][1]*a[4][j+3]?+?a[i][2]*a[5][j+3];
for(i=0;i3;i++){
for(j=0;j3;j++)
printf("%d\t",a[i+6][j+6]);
printf("\n");
}
}
}
復(fù)制后可直接編譯運(yùn)行,結(jié)果如下:格式可自行修改。
用C語(yǔ)言編寫(xiě)程序(兩個(gè)矩陣相加)代碼如下:
/**
MatrixAddition.c
實(shí)現(xiàn)兩個(gè)矩陣相加
*/
#includestdio.h
const int COLS=3;
void printMatirx(int *pArray,int rows,int cols);
void printMatirx2(int (*pArray)[COLS],int rows);
int main()
{
int A[3][4]={{15,10,9,12},
{18,14,8,7},
{16,13,6,11}};
printf("矩陣A=\n");
printMatirx(A,3,4);
int B[3][4]={{4,3,5,2},
{0,9,6,1},
{5,7,2,6}};
printf("矩陣B=\n");
printMatirx(B,3,4);
int C[3][4];
int i,j;
//矩陣相加:兩個(gè)矩陣必須行數(shù)和列數(shù)一樣才能相加,
//和矩陣的每個(gè)元素分別是兩個(gè)矩陣對(duì)應(yīng)的元素的和
printf("矩陣A+矩陣B=\n");
for(i=0;i3;i++)//控制行
{
for(j=0;j4;j++)
{
C[i][j]=A[i][j]+B[i][j];
//printf("%3d",C[i][j]);//輸出結(jié)果
}
//? ? ? ? printf("\n");
}
int (*p)[COLS]=C;
printMatirx2(p,3);
/*結(jié)果應(yīng)為:
19 13 14 14
18 23 14? 8
21 20? 8 17
*/
printf("矩陣C-矩陣A=\n");
for(i=0;i3;i++)//控制行
{
for(j=0;j4;j++)
{
printf("%3d",C[i][j]-A[i][j]);//輸出結(jié)果
}
printf("\n");
}
/*結(jié)果應(yīng)為:
4? 3? 5? 2
0? 9? 6? 1
5? 7? 2? 6
*/
//矩陣數(shù)乘:
int D[3][4];
printf("矩陣D:\n");
for(i=0;i3;i++)//控制行
{
for(j=0;j4;j++)
{
D[i][j]=1;
printf("%d\t", D[i][j]);//輸出結(jié)果
}
printf("\n");
}
int mul;
printf("矩陣D數(shù)乘以:");
scanf("%d",mul);
printf("矩陣D數(shù)乘以%d=\n",mul);
for(i=0;i3;i++)//控制行
{
for(j=0;j4;j++)
{
D[i][j]=D[i][j]*mul;
printf("%d\t", D[i][j]);//輸出結(jié)果
}
printf("\n");
}
return 0;
}
擴(kuò)展資料:
C語(yǔ)言矩陣加減法函數(shù):
void matrix_a(double **a_matrix, const double **b_matrix, const double **c_matrix,int krow, int kline, int ktrl)
////////////////////////////////////////////////////////////////////////////
// ?a_matrix=b_matrix+c_matrix
// ? krow ? :行數(shù)
// ? kline ?:列數(shù)
// ? ktrl ? :大于0: 加法 ?不大于0:減法
////////////////////////////////////////////////////////////////////////////
{
int k, k2;
for (k = 0; k krow; k++)?
{
for(k2 = 0; k2 kline; k2++)
?
{
a_matrix[k][k2] = b_matrix[k][k2]
? ? ? ? ?
+ ((ktrl 0) ? c_matrix[k][k2] : -c_matrix[k][k2]);
}
}
}
參考資料:
百度百科-C語(yǔ)言
分享題目:C語(yǔ)言矩陣相加的函數(shù),編寫(xiě)一個(gè)矩陣相加函數(shù)
URL網(wǎng)址:http://aaarwkj.com/article38/hchipp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站策劃、手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站、微信小程序、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)