我正在编写一个程序来计算sin(x)in ,使用泰勒级数x,[0, 1]其中包括将其某些项提升到一定的幂。由于我是 C 新手,我决定编写自己的pow()函数只是为了练习。但后来我注意到我的程序无法正确计算正弦函数。经过检查,我发现在循环中将数字求幂不会产生与简单直接乘法相同的结果...v * v * v...
这是我的powr()功能和结果差异:
#include <stdio.h>
double powr(double base, int power)
{
if (power == 0) {
base = 1;
} else if (power > 0) {
for (int i = 1; i < power; i++) {
base *= base;
}
} else {
// power is negative.
}
printf("In loop number to a power of 3: %lf\n", base);
double hard_coded = 0.99 * …Run Code Online (Sandbox Code Playgroud)