이거 한번 봐주세요
휘율
#include stdio.h
double factsum(double n)
{
int i;
double sum=0;
int fact=1;
for(i=1;i=n;i++)
{
fact *= i;
sum += (1/fact);
}
return sum;
}
int main()
{
double n, result;
printf(Input n : );
scanf(%d, &n);
result = factsum(n);
printf(Result : %d\n, result);
return 0;
}1+1/2+1/3+...........1/n
값을 구하는건데 계속 0이 나와서요 무슨 문제죠?
-
이플
#include stdio.h
double factSum(double N) {
\tdouble Sum = 0, fact;
\tfor(fact = 1.0 ; fact = N ; fact++) Sum += (1/fact);
\treturn Sum;
}
void main() {
double n;
printf(\Input n : \);
scanf(\%lf\ -
날애
말씀하신대로 바꿨는데 0.00000만 출력이 되는되요...
#include stdio.h
double factsum(double n)
{
double i;
double sum=0;
double fact=1;
for(i=1;i=n;i++)
{
fact *= i;
sum += (1.0/fact);
}
return sum;
}
int main()
{
double n, result;
printf(\Input n : \);
-
동생몬
대략 12째 줄?에 있는 1/fact를 바꿔보시면....
1/fact가 1도 int형이고 fact도 int형이니깐 결과도 int형이 됩니다.
그래서 fact가 무슨 수가 되던지간에 1/fact는 0이 되죠...
그래서... 1.0/fact로 바꿔보시기 바래요 ㅋ
큐수다님 말씀대로 scanf와 printf의 내용도 수정이 필요합니다... -
뽀송뽀송
double인데 %d로 입력받고 %d로 출력하고 계시네요.
scanf(\%lf\ -
꽃
했는데 그대로네요 그리고 더블형 안해도 되자나요
-
찬
int a / int b = a를 b로 나눈 몫
그러므로 i와 fact를 더블형으로 하셔야 해요