行等于列的可以相乘.假定行列数 为 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 r;
printf("%g",r);
return 0;
两个一维数组的长度必须相同,否则无法相乘.
思路为,循环遍历数组,并将对应元素相乘,结果存到第三个数组中.
以整型为例,示例代码如下:
void array_multi(int *a, int *b, int *r, int len)//将长度为len的数组a,b对应元素相乘,结果存于r中.
for(i = 0; i len; i ++)//遍历数组.
r[i] = a[i]*b[i];//对应元素相乘,并存于r中.
确定维数的话就简单,直接运算:
x=a[1]+b[0]+x/10//最后这个事进位
x=a[0]+x/10
c[1]=x/10
c[0]=0
你也可以用循环.
另一种是先求值:
b=10*b[0]+b[1]
c=a+b
c=c/10//去除末位
c=c/10
c[1]=c
c[0]=c
没有考虑语法,自己解决
以上就是土嘎嘎小编为大家整理的c语言一维数组相乘函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!