0
我正在尝试输入x的值和n的值来计算术语的数量,以便使用泰勒级数和另一个级数来查找自然对数。问题在于我的输出没有显示出来,只是在输入值时显示空格。请帮忙!C代码不会打印出答案?
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, char **argv){
double x = atof(argv[1]);
double i;
double y;
double result2;
double result;
double error1;
double error2;
double sum;
int n = atof(argv[2]);
if(x <= 0){
printf("Invalid argument\n");
exit (1);
}
if(abs(x-1) <= 1 && abs(x-1) !=0){
for (i = 1; i <= 1; i++){
result -= pow((x-1), i)/ i;
}
}
else{
for(i =1; i <=n; i--){
result += 1/(i * pow((y),i));
}
}
for(i = 0; i <=n; i+=2){
y = (x-1)/(x+1);
sum += pow((y),i) * (1/(1+i));
result2 = sum * 2 * y;
}
error1 = result - log(x);
error2 = result2 - log(x);
printf("Taylor series: ln(%lf) ~= %lf\n", x, result);
printf(" Error: %lf\n", error1);
printf("Other series: ln(%lf) ~= %lf\n", x, result2);
printf(" Error: %lf\n", error2);
return 0;
}
n应该被声明为double,或者使用atoi() – dckuehn
'y','result','sum'未初始化。 – BLUEPIXY
似乎毫无希望,你知道你在做什么吗?尝试添加评论。 – Wolf