行等于列的可以相乘。假定行列数 为 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;
}
两个一维数组的长度必须相同,否则无法相乘。
思路为,循环遍历数组,并将对应元素相乘,结果存到第三个数组中。
以整型为例,示例代码如下:
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中。
}
确定维数的话就简单,直接运算:
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语言中一维数组
本文地址:https://www.cdcxhl.com/article30/hsipso.html
成都网站建设公司_创新互联,为您提供服务器托管、面包屑导航、商城网站、网站制作、建站公司、
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联