c语言中,开三次方用pow函数.即double pow(double number, double power).
pow函数的主要作用是返回给定数字的乘幂.POWER函数的语法为:double pow(double?number, double?power),其中参数number表示底数;参数power表示指数.
两个参数可以是任意实数,当参数power的值为小数时,表示计算的是开方;当参数number取值小于0且参数power为小数时,POWER函数将返回-1错误值.
扩展资料:
C/C++提供以下几种pow函数的重载形式:
①.、double pow(double X,int Y).
使用的时候应合理设置参数类型,避免有多个"pow"实例与参数列表相匹配的情况.
其中较容易发生重载的是使用形如:
int X,Y;
int num=pow(X,Y);
这是一个比较常用的函数,但是编译器会提醒有多个"pow"实例与参数列表相匹配.
可以使用强制类型转换解决这个问题:num=pow((float)X,Y).
直接写.
写作
x*x*x
就是x的三次方了.对于比较小的乘方都可以这样做.
调用pow函数.
double
pow(double
a,
n);
这个函数的功能为计算a的n次方并将结果返回.
注意,要使用pow需要引用头文件
#include
#include stdio.h
void main()
{
int max(int ,int);
int min(int, int);
int add(int,int);
int a, b,ma,mi,ad;
printf("endter a and b: ");
scanf("%d%d",a,b);
printf("max= "); //调用这个函数输出最大值
ma= max( a , b);
printf("min= "); //还是调用这个函数输出最小值
mi= min( a , b);
printf("add= ");//还是调用这个函数,输出和
ad= add( a , b);
printf("%d,%d,%d\n",ma,mi,ad);
}
int max(int a, int b )
int z;
z=(ab)?a:b;
return z;
int min(int a, int b)
z=(ab)?b:a;
int add(int a, int b)
z=a+b;
}//这是我改的程序,你对照着看看,现在没有问题了.你的程序函数调用有问题,而且最重要的一个错误是程序没有输出语句,一般c语言程序输入语句可有可无,但输出语句至少要有一个,输出语句比较多用的是 printf语句,putchar语句
#include?stdio.h?
long?cube(int?x)
return?x*x*x;
int?main()
int?x,y;
scanf("%d%d",x,y);
return?0;
void SPL(int n, double *x, double *y, int ni, double *xi, double *yi); 是你所要.
已知 n 个点 x,y; x 必须已按顺序排好.要插值 ni 点,横坐标 xi[], 输出 yi[].
程序里用double 型,保证计算精度.
SPL调用现成的程序.
#include math.h
double x[], double y[],
double b[], double c[], double d[],
int *iflag)
int nm1, ib, i, ascend;
double t;
nm1 = n - 1;
*iflag = 0;
{ /* no possible interpolation */
*iflag = 1;
goto LeaveSpline;
ascend = 1;
for (i = 1; i n; ++i) if (x[i] = x[i-1]) ascend = 0;
if (!ascend)
d[0] = x[1] - x[0];
c[1] = (y[1] - y[0]) / d[0];
for (i = 1; i nm1; ++i)
d[i] = x[i+1] - x[i];
c[i+1] = (y[i+1] - y[i]) / d[i];
c[i] = c[i+1] - c[i];
/* ---- Default End conditions */
b[0] = -d[0];
c[0] = 0.0;
c[nm1] = 0.0;
/* Alternative end conditions -- known slopes */
if (end1 == 1)
c[0] = (y[1] - y[0]) / (x[1] - x[0]) - slope1;
/* Forward elimination */
for (i = 1; i n; ++i)
t = d[i-1] / b[i-1];
b[i] = b[i] - t * d[i-1];
c[i] = c[i] - t * c[i-1];
/* Back substitution */
c[nm1] = c[nm1] / b[nm1];
for (ib = 0; ib nm1; ++ib)
c[i] = (c[i] - d[i] * c[i+1]) / b[i];
for (i = 0; i nm1; ++i)
d[i] = (c[i+1] - c[i]) / d[i];
else
b[0] = (y[1] - y[0]) / (x[1] - x[0]);
c[0] = 0.0;
d[0] = 0.0;
b[1] = b[0];
c[1] = 0.0;
d[1] = 0.0;
LeaveSpline:
return 0;
double seval (int n, double u,
int *last)
int i, j, k;
double w;
i = *last;
if (i = n-1) i = 0;
if (i 0) i = 0;
if ((x[i] u) || (x[i+1] u))
i = 0;
j = n;
do
if (u x[k]) j = k;
if (u = x[k]) i = k;
while (j i+1);
*last = i;
w = u - x[i];
w = y[i] + w * (b[i] + w * (c[i] + w * d[i]));
return (w);
void SPL(int n, double *x, double *y, int ni, double *xi, double *yi)
double *b, *c, *d;
int iflag,last,i;
b = (double *) malloc(sizeof(double) * n);
c = (double *)malloc(sizeof(double) * n);
d = (double *)malloc(sizeof(double) * n);
if (!d) { printf("no enough memory for b,c,d\n");}
else {
spline (n,0,0,0,0,x,y,b,c,d,iflag);
if (iflag==0) printf("I got coef b,c,d now\n"); else printf("x not in order or other error\n");
for (i=0;ini;i++) yi[i] = seval(ni,xi[i],x,y,b,c,d,last);
free(b);free(c);free(d);
};
main(){
int i;
以上就是土嘎嘎小编为大家整理的c语言三次函数值相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!