c语言矩阵数学函数库 矩阵计算c语言程序

一道初学者的C语言题目 矩阵运算,求解答,万分感谢!

矩阵,那么就要用二维数组,你一位数组也是可以的,但是要确定怎么分割成二维数组的样子

达茂旗ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

N*N=10*10=100,可以定义一个100元素的数组

但是这个题目,我估计要定义二维数组的,呵呵

int a[100],sum[100]={0}; //最终结果一定要初始化

int i,n;

char op;

scanf("%",n);

do //至少输入一次,用do--while最好

{

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

scanf("%d",a[i]); //输入n*n个数据,也就是n阶矩阵

fflush(stdio); //清理一下缓冲,要不然char型op输入不进去

op=getchar();

switch(op) 计算加减,用switch也可,用if判断op也行(因为只有加减)

case '+':

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

sum[i]+=a[i];

break;

case '-':

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

sum[i]-=a[i];

break;

}while(op!='#');

for(i=0;in*n;i++) //输出

{

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

if(i%n==0) //n个一行

printf("\n");

}

c语言:请编写一个函数,可调用它来计算m*n矩阵与n*m矩阵的积。主函数为m,n和两个矩阵提供数值。

#includestdio.h

#define maxsize 10

void mul(int x[][maxsize],int y[][maxsize],int z[][maxsize],int r,int c)

{

int i,j,k;

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

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

{

z[i][j]=0;

for(k=0;kc;k++)

z[i][j]+=x[i][k]*y[k][j];

}

}

void main()

{

int m,n,i,j;

int array_a[maxsize][maxsize],array_b[maxsize][maxsize],array_c[maxsize][maxsize],array_d[maxsize][maxsize];

printf("请输入第一个矩阵的行数m(1-%d)和列数n(1-%d):\n",maxsize,maxsize);

scanf("%d %d",m,n);

printf("请输入A矩阵(%d*%d):\n",m,n);

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

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

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

printf("请输入B矩阵(%d*%d):\n",n,m);

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

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

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

printf("\nA*B=\n");

mul(array_a,array_b,array_c,m,n);

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

{

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

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

printf("\n");

}

printf("\nB*A=\n");

mul(array_b,array_a,array_d,n,m);

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

{

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

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

printf("\n");

}

}

c语言对数组(矩阵)有没有求和库函数?

没有的。C语言是较为基础的源语言,函数库不包含更多的函数,用双重for循环已经是最简便也是最简洁的表现形式了。但就字符而言,无论是存储还是输入都更为麻烦,所以库函数用的多。

给你学习C语言的建议是:不要偷懒,多想想怎么用最基础的语言写代码,这对程序思维的培养以及日后进一步的学习代码都是有好处的。

满意请采纳!有问题随时可以交流!

C语言通过函数调用求n*n阶矩阵周边元素绝对值之和

用c语言的话可用求和函数,具体函数如下:

#include "stdio.h"

#include "math.h"

#define N 5

int sum(int a[N][N])

{

int i,j;

int sum=0;

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

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

if(i==0||i==N-1||j==0||j==N-1)

sum+=abs(a[i][j]);

return sum;

}

int main()

{

int i,j;

int c_sum;

int a[N][N]={1,-1,2,-2,3,-3,4,5,6,7,8,9,10,11,-11,-15,13,17,23,35,-23,45,12,-1,-15};

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

{

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

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

printf("\n");

}

c_sum=sum(a);

printf("the sumation is%d",c_sum);

printf("\n");

return 0;

}

扩展资料:

1、数学函数

double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中

double ldexp(double value,int exp); 返回value*2exp的值

double log(double x) 返回logex的值

double log10(double x) 返回log10x的值

2、目录函数

所在函数库为dir.h、dos.h [3]

int chdir(char *path) 使指定的目录path(如:"C:\\WPS")变成当前的工作目录,成功返回0

int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功返回0

pathname为指定的目录名和文件名,如"C:\\WPS\\TXT"

参考资料来源:百度百科-C语言函数


分享名称:c语言矩阵数学函数库 矩阵计算c语言程序
浏览路径:http://ybzwz.com/article/dodipos.html