引用:
作者: leowang
[code]
#include <stdio.h>
#include <stdlib.h>
void my_fun(double,int);
int pow(double,int);
int factorial(int);
int main(void)
{
...
|
把
int pow(double,int);
和
int pow(double x, int k)
{
int i;
for(i=1; i<k; i++) x=x*x;
}
直接刪掉就好啦
因為 pow(x,y); 是 C 語言內建的函數指令 ... 不需要自己寫副函式
就能直接用,好像是包在 stdlib.h 裏面 ...
改好的...程式
語法:
#include <stdio.h>
#include <stdlib.h>
void my_fun(double,int);
int factorial(int);
int main(void)
{
double x=0.1;
int n=8;
my_fun(x,n);
system("pause");
return 0;
}
void my_fun(double x, int n)
{
double result=0;
int i;
for (i=1;i<=n;i++)
result=result+(pow(x,i)/factorial(i));
printf("%0.16f\n",result);
}
int factorial (int n)
{
if (n==1)
return 1;
else
return n * factorial(n-1);
}
再來是有關 %f 的部份 ...
%-xn.mf
- 從強制從最左邊開始印(預設是從右邊,沒有減號時)。
x 要不要將空未補零值
n 指的是小數點左邊顯示幾位數
m 指的是右邊顯示幾位數。
ex 1: printf("%10.3f",12.123456);
顯示 10.123
ex 2: printf("%010.3f",12.123456);
顯示 0000000010.123
ex 2: printf("%-10.3f",12.123456);
顯示 10.123
%-xnd
- 從強制從最左邊開始印(預設是從右邊,沒有減號時)。
x 要不要將空未補零值
n 指的是小數點左邊顯示幾位數