从品牌网站建设到网络营销策划,从策略到执行的一站式服务
行等于列的可以相乘。假定行列数 为 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
没有考虑语法,自己解决
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图