c语言add函数定义,写C语言码令A,B,C为三个m×n矩阵,使得C = A + B。 写一个函数mattAdd它通过指针计算给定A和B的和矩阵C....

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

chinayaoya

2018.02.24

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:41%    等级:12

已帮助:8177人

/*

矩阵元素间用空格隔开,可以不换行,但是元素个数别错了

M,N表示行列值,自己修改

读取存储文件默认在工程文件夹

*/

#include

#define M 3//矩阵行

#define N 4//矩阵列

int main()

{

void printFiles(float a[M][N]);

float *mattAdd(float a[][N],float b[][N],float c[][N]);

float A[M][N];//矩阵为float

float B[M][N];

float C[M][N];

float *p;//指针读入和接收

int i,j;

FILE *fp;

fp = fopen("inputmatA.txt", "r");

if(fp == NULL)return -1;

p=&A[0][0];

while(fscanf(fp, "%f", p) != EOF)

p++;

fclose(fp);//读完A

fp = fopen("inputmatB.txt", "r");

if(fp == NULL)return -1;

p=&B[0][0];

while(fscanf(fp, "%f", p) != EOF)

p++;

fclose(fp);//读完B

printf("A数组:\n");

printFiles(A);

printf("B数组:\n");

printFiles(B);

printf("C数组:\n");

p=mattAdd(A,B,C);

printFiles(C);

fp = fopen("outputmat.txt", "w+");

for(i=0;i

{

for(j=0;j

{

fprintf(fp,"%.0f\t",*p);//存储

p++;

}

fprintf(fp,"\n");

}

fclose(fp);

}

void printFiles(float a[M][N])//打印

{

int i,j;

for(i=0;i

{

for(j=0;j

printf("%.0f\t",a[i][j]);//默认只打印整数

printf("\n");

}

}

float *mattAdd(float a[M][N],float b[M][N],float c[M][N])

{

int i,j;

float *p;

for(i=0;i

for(j=0;j

c[i][j]=a[i][j]+b[i][j];

p=&c[0][0];

return p;//返回指针

}

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值