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