本文主要是介绍C PRIMER PLUS(第六版编程练习)9.11编程练习_9题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*
使用递归函数重写编程练习8。
#include<stdio.h>
double power(double n, int p);
int main(void)
{double x, xpow;int exp;printf("Enter an number and the positive integer power");printf("to which \nthe number will be raised .Enter q");printf("to quit.\n");while (scanf("%lf%d", &x, &exp) == 2){xpow = power(x, exp);printf("%.3g to the power %d is %.5g\n ", x, exp, xpow);printf("Enter next pair of number or q to quit.\n");}printf("Hope you enjoyed this power trip --bye!\n");return 0;
}
double power(double n, int p)
{double pow;int i;if (p >= 0){if (p == 0)pow = 1;if (n == 0 && p != 0)pow = 0;pow = 1;for (i = 1; i <= p; i++)pow *= n;}else if (p < 0){pow = 1;for (i = 1; i <= -p; i++)pow *= n;pow = (double)(1 / pow);}return pow;
}
*/
#include<stdio.h>
double power(double n, int p);
int main(void)
{double x, xpow;int exp;printf("Enter an number and the positive integer power");printf("to which \nthe number will be raised .Enter q");printf("to quit.\n");while (scanf("%lf%d", &x, &exp) == 2){xpow = power(x, exp);printf("%.3g to the power %d is %.5g\n ", x, exp, xpow);printf("Enter next pair of number or q to quit.\n");}printf("Hope you enjoyed this power trip --bye!\n");return 0;
}
double power(double n, int p)
{double pow;if (p > 0){pow = n * power(n, p - 1);}else if (p < 0){pow = (1/n ) * (1 / power(n, -p - 1));}elsepow = 1;return pow;
}
这个递归很符合人的逻辑,看了下代码的运行,一脸蒙蔽。
这篇关于C PRIMER PLUS(第六版编程练习)9.11编程练习_9题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!