[問題] 不知道問題再哪
遇到的問題: (題意請描述清楚)
程式碼中的dn印出來的值有問題
希望得到的正確結果:
程式跑出來的錯誤結果:
dn都是0
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
DEV C++
有問題的code: (請善用置底文標色功能)
#include<stdio.h>
#include<math.h>
long factorial(int N)
{
if(N<=1)
{
return 1;
}
else
{
return (N*factorial(N-1));
}
}
int main()
{
int dn = 0;
float d1=0 ;
long k;
int n;
int i;
int p;
A:
printf("Enter n:");
scanf("%d",&n);
if(n<=0){goto A;}
if(n==1)
{
printf("dn = %d\n",factorial(n));
}
if(n>1)
{
for(i=2;i<=n;i++)
{
p = pow(-1,i);
k = factorial(i);
d1+= p/k;
printf("%d\n",i);
printf("%d\n",factorial(i));
printf("%d\n",p);
printf("%d\n",d1);
}
dn = 1 + d1;
printf("dn = %d\n",dn);
}
system("pause");
return 0;
}
補充說明:
這是一個數學式子,裡面有階乘的運算。
不好意思>"<可能是小問題...
只是我不知道哪裡出錯了
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.190.166
推
02/03 21:01, , 1F
02/03 21:01, 1F
→
02/03 21:03, , 2F
02/03 21:03, 2F
→
02/03 21:12, , 3F
02/03 21:12, 3F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章