《C 언어 입문 경전》 Ivor Horton 제9장 연습문제
</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("
1");
if(i>=j)
{
j++;
array=(double*)realloc(array,j*8);
}
printf("
2");
scanf("%lf",&array[i++]);
printf("
3");
}while((y=getchar())!='
');
for(int j=0;j<i;j++)
printf("
%lf",array[j]);
pfun=add;
result=array_op(array,i,pfun);
printf("
in add result=%lf",result);
pfun=subtract;
result=array_op(array,i,pfun);
printf("
in subtract result=%lf",result);
pfun=multiply;
result=array_op(array,i,pfun);
printf("
in 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));
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[f] 이벤트 귀속 함수와 귀속 해제 함수IE: attachEvent(이벤트 이름, 함수), detachEvent(이벤트 이름, 함수), FF:addeventListener(이벤트 이름, 함수, 캡처 여부), removeEventListerner(이벤트 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.