《C语言入门经典》Ivor Horton第九章练习题
2015-11-13 16:17
344 查看
</pre><pre name="code" class="cpp">//习题9.2 实现函数原型: //double add(double a,double b); //Returna a+b //double subtract(double a,double b); //Returna a-b //double multiply(double a,double b); //Returna a*b //double array_op(double array[],size_t size,double(*pfun)(double,double)); //array_op().函数的参数是:要运行的数组、数组元素数目以及一个函数指针 //,该函数指针指向的函数定义了在连续几个元素上应用的操作。在实现array_op()函数时, //将subtract()函数传送为第三个参数,subtract()函数会用交替符号组合这些元素。 //因此,对于有4个元素x1、x2、x3、x4的数组,subtract()函数会计算x1-x2+x3-x4的值。 //乘法运算则得到这些元素之积x1*x2*x3*x4。 // 用适当的main()版本演示这些函数的运作。 #include<stdio.h> double add(double a,double b); double subtract(double a,double b); double multiply(double a,double b); double array_op(double array[],size_t size,double (*pfun)(double,double)); int k=0; int main(void) { double a=0.0; double b=0.0; size_t size=0; double result=0.0; int i=0; int j=1; char y; double(*pfun)(double,double); double *array=NULL; array=(double*)malloc(j*8); do { printf("\n1"); if(i>=j) { j++; array=(double*)realloc(array,j*8); } printf("\n2"); scanf("%lf",&array[i++]); printf("\n3"); }while((y=getchar())!='\n'); for(int j=0;j<i;j++) printf("\n%lf",array[j]); pfun=add; result=array_op(array,i,pfun); printf("\nin add result=%lf",result); pfun=subtract; result=array_op(array,i,pfun); printf("\nin subtract result=%lf",result); pfun=multiply; result=array_op(array,i,pfun); printf("\nin multiply result=%lf",result); return 0; } double add(double a,double b) { return b+a; } double subtract(double a,double b) { return b-a; } double multiply(double a,double b) { return b*a; } double array_op(double array[],size_t size,double (*pfun)(double ,double)) { --size; if(size<=0) { return array[size]; } return pfun(array[size],array_op(array,size,pfun)); }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua和C语言的交互详解
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数
- Lua中实现sleep函数功能的4种方法
- Lua函数用法研究