C++中用函数指针实现分段函数f(x) y=x-1(x<=0), y=2x+3(0<x<=10) ,y=x的平方+3(10<=10) 谢谢了,

如题所述

#include<iostream>
using namespace std;
double f1(double x);
double f2(double x);
double f3(double x);
void diaoyong(double x,double(*pf)(double));
int main()
{
double x;
cin>>x;
if(x<=0)
{
diaoyong(x,f1);
}
else if(x> 0 && x<10)
{
diaoyong(x,f2);
}
else if(x >= 10)
{
diaoyong(x,f3);
}
return 0;
}
double f1(double x)
{
return x-1;
}
double f2(double x)
{
return 2*x+3;
}
double f3(double x)
{
return x*x+10;
}
void diaoyong(double x,double(*pf)(double))
{
cout<<(*pf)(x)<<endl;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-14
#include <iostream>
using namespace std;

int Fuction(const int&);
int main()
{
typedef int (*PFunc)(const int&);
PFunc pfunc = Fuction;
int x;
cin >> x;
cout << pfunc(x);
return 0;
}

int Fuction(const int &x)
{
if (x <= 0)
{
return ( x-1 );
}
else if (x <= 10)
{
return ( 2*x + 3 );
}
return (x*x + 3);
}

用C++,定义一个函数指针数组,用该数组完成对于两个实数(加、减、乘...
int add(int x, int y) { return x + y;} int sub(int x, int y) { return x - y;} int mul(int x, int y) { return x * y;} int div(int x, int y) { return x \/ y;} int (*p[])(int, int) ={add, sub, mul, div};void menu() { printf("***\\n");...

...分段函数 Y={sinx+ √( x^2+1)\/x ,x≠0;cosx-x^3+3x ,x=0_百度知 ...
include <IOSTREAM.H>#include <math.h>void main(){ double x,y; cout<<"input x:"; cin>>x; if(x!=0) y=sin(x)+sqrt(x*x+1)\/x; else y=cos(x)-pow(x,3)+3*x; cout<<"y="<<y<<endl;} ...

c++计算下列分段函数y=f(x)的值(输入数据为浮点数,输出保留小数点后三...
scanf("%lf",&x);if (5>x&&x>=0)y=0-x+2.5;else if (10>x&&x>=5)y=2-1.5*(x-3)*(x-3);else y=x\/2-1.5;printf("%.3lf\\n",y);return 0;}

c++中分段函数按“f(x)=result”格式输出,x与result保留一位小数...
printf( f(%.1f) = %.1f\\n", x, result);输出 总占位任意,小数1位 用 格式 %.1f 即可。

y=f(x)=1\/x,x≠0 0,x=0 编程,计算输出上面分段函数f(x)值用c++语言
include<iostream> using namespace std;void main(){ double x,y;cin>>x;if(x>0||x<0){ y=1.0\/x;} else y=0;cout<<y<<endl;}

西南交大C++实验12
1、实现功能:根据键盘输入的数x,计算分段函数f(x)的值。x的绝对值(x<0)(1)主函数功能:从键盘输入数x,通过调用子函数得到计算结果并输出。(2)子函数功能:定义有返回值函数,实现计算该分段函数值的功能。要求:求平方根和绝对值使用数学函数sqrt(x)、fabs(x)。(3)输入输出格式请参考以下样张:

(C++) 输入一个由数字、+、-、*、\/及括号组成的自述表达式,求其值。
e=*(S.top-1);return e;} char GetTop_ch(SqStack_ch &S){ \/* 若栈不空,则用e返回运算符栈S的栈顶元素,并返回OK;否则返回ERROR *\/ char e;if(S.top==S.base)return ERROR;e=*(S.top-1);return e;} void Push_f(SqStack_f &S,SElemType_f e){ \/* 插入元素e为新...

C++上的一些运算符顺序的问题:我是C++初学者,对运算符顺序不是很了解...
a=1; a是左值,1是右值 赋值运算符的左边必须是变量,而不是值。(++a)=1; 是会报错的。④你有两种方法完全掌握C++的运算符问题:1.必要性逻辑:C++是一门几乎理论上完美的语言,创造它的人是理论和实践的顶级牛人,那么,所有运算符的逻辑顺序必须是往最合理的那个方向去思考:怎样才最符合...

C++ 一个函数怎么使用另一个函数中变量的值
1、C++的函数也保存在内存中,所以可以使用指针访问函数地址。2、声明函数指针,其方法与函数原型差不多,以下为一个函数原型。3、程序中声明了一个函数指针,指针类型为整型。4、获取一个函数的地址,只要使用函数名即可。5、使用函数指针调用函数,与普通指针类似,可以用(*fq)来间接调用指向的函数。6...

...3个数按由小到大的顺序排序,并在主函数中调用此函数,使用指针...
void paixu(float *p1,float *p2,float *p3){ float temp;if(*p1>*p2) { temp=*p1; *p1=*p2; *p2=temp; } if(*p1>*p3) { temp=*p1; *p1=*p3; *p3=temp; } if(*p2>*p3) { temp=*p2; *p2=*p3; *p3=temp; } } int main(){ float a,b,c;cin>>a>>b>>c;pai...

相似回答