#include?stdio.h

創(chuàng)新互聯(lián)公司是專業(yè)的西林網(wǎng)站建設(shè)公司,西林接單;提供成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行西林網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
#include?string.h
#include?stdlib.h
typedef?struct?matrix
{
int?**array;
int?row;
int?column;
}?MATRIX,?*PMATRIX;
void?addMatrix(?PMATRIX?a,?PMATRIX?b,?PMATRIX?c?)
{
int?i,j,?k;
if?(?a-row?!=?b-row?||?a-column?!=?b-column?)
{
printf(?"矩陣A?%d*%d?與矩陣B?%d*%d?大小不同,不支持加法運(yùn)算\n",
a-row,?a-column,?b-row,?b-column?);
c-row?=?0;
c-column?=?0;
return;
}
c-row?=?a-row;
c-column?=?a-column;
c-array?=?(int**)malloc(c-row*sizeof(int*));
if?(?c-array?==?NULL?)
{
printf(?"分配內(nèi)存失敗\n"?);
c-row?=?0;
c-column?=?0;
return;
}
for(?i=0;?ia-row;?i++?)
{
*(c-array+i)?=?(int*)malloc(?c-column*sizeof(int)?);
if?(?*(c-array+i)?==?NULL?)
{
printf(?"分配內(nèi)存失敗\n"?);
c-row?=?i-1;
freeMatrix(?c?);
return;
}
memset(?*(c-array+i),?0,?c-column*sizeof(int)?);
for(?j=0;?ja-column;?j++?)
*(*(c-array+i)+j)?=?*(*(a-array+i)+j)?+?*(*(b-array+i)+j);
}
}
#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;?
}
用C語言編寫程序(兩個(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è)矩陣對應(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語言矩陣加減法函數(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語言
當(dāng)前名稱:c語言矩陣加法用函數(shù),c++實(shí)現(xiàn)矩陣加法
網(wǎng)站URL:http://chinadenli.net/article42/dsgdphc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、Google、品牌網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)