c语言一维数组相乘函数,C语言中一维数组

在c语言中,如何一维数组a表示的行向量与一维数组b表示的列向量的乘积,函数返

行等于列的可以相乘。假定行列数 为 n, 用 函数 float fun(float *a, float *b, int n) 计算。

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的阿拉善盟网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

#include stdio.h

float fun(float *a, float *b, int n){

int i;

float sum=0.0;

for (i=0;in;i++) sum=sum+a[i]*b[i];

return sum;

}

main()

{

float x[5]={1,2,3,4,5};

float y[5]={1,2,3,4,5};

float r;

r = fun(x,y,5); // 调用的例子

printf("%g",r);

return 0;

}

C语言编写一个函数将两个一维数组对应元素相乘

两个一维数组的长度必须相同,否则无法相乘。

思路为,循环遍历数组,并将对应元素相乘,结果存到第三个数组中。

以整型为例,示例代码如下:

void array_multi(int *a, int *b, int *r, int len)//将长度为len的数组a,b对应元素相乘,结果存于r中。

{

int i;

for(i = 0; i len; i ++)//遍历数组。

r[i] = a[i]*b[i];//对应元素相乘,并存于r中。

}

C语言一维数组乘法

确定维数的话就简单,直接运算:

x=a[2]+b[1]

c[4]=x%10

x=a[1]+b[0]+x/10//最后这个事进位

c[3]=x%10

x=a[0]+x/10

c[2]=x%10

c[1]=x/10

c[0]=0

你也可以用循环。

另一种是先求值:

a=100*a[0]+10*a[1]+a[2]

b=10*b[0]+b[1]

c=a+b

c[4]=c%10//得到末位

c=c/10//去除末位

c[3]=c%10

c=c/10

c[2]=c%10

c=c/10

c[1]=c%10

c=c/10

c[0]=c%10

没有考虑语法,自己解决


网页名称:c语言一维数组相乘函数,C语言中一维数组
本文地址:http://pwwzsj.com/article/hsipso.html