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://azwzsj.com/article/dodipos.html