安全的南昌网站制作seo代码优化工具
函数psum1( )中引入变量last_val保存p1[i-1],减少访问存储器的次数,提高计算效率。函数psum3( )使用循环展开,每次迭代计算数组p2三个元素,也能提高效率。
代码实现
float code a[9]={1.25, 2.5, 3.75, 4.75, 5.75, 6.5,7.75,8.25,9.5};
void psum1(float a[], float p[], int n);
void psum3(float a[], float p[], int n);void main()
{float p1[9],p2[9];int n=9;psum1(a, p1, n);psum3(a, p2, n);while(1);
}void psum1(float a[], float p[], int n)
{int i;float last_val, val;last_val=p[0]=a[0];for(i=1; i<n; i++){val=last_val+a[i];p[i]=val;last_val=val; // last_val保存p[i-1]}
}
void psum3(float a[], float p[], int n)
{int i;float mid_val1;mid_val1=p[0]=a[0];for(i=1; i<n-2; i+=3) //求出p[i]、p[i+1]和p[i+2]{mid_val1 = mid_val1 + a[i];p[i] = mid_val1;mid_val1 = mid_val1 + a[i+1];p[i+1] = mid_val1;mid_val1 = mid_val1 + a[i+2];p[i+2]=mid_val1;}for(;i<n;i++)p[i]=p[i-1]+a[i];
}
p1 = p2 = { 1.25, 3.75, 7.5, 12.25, 18, 24.5 , 32.25, 40.5, 50}