猿问

输入10,答案应该等于0.645635,为什么我这个是负的?

#include"stdio.h"
#include"string.h"
#include"conio.h"
#include"windows.h"
#include"math.h"

double funa (int n);
int main()
{
 double u;
 int y;

 printf("请输入分母的值:");scanf("%d",&y);

 u = funa ( y );

 printf("  %f \n",u);

 return 0;
}


double funa (int n)
{
 double add = 0;
 double t;
 int k;
 int s = 1;

 for ( k = 1;k <= n; k ++ )
 {
  s = -s;
  t = s * 1.0/k;
  add = add + t;
 }
 
 return add;
}


qq_企鹅_13
浏览 1358回答 1
1回答

望远

s = -s; t = s * 1.0/k;这两行代码应该换一下顺序,否则加的第一个数是-12.printf("  %f \n",u);double类型数据应该%lf格式输出
随时随地看视频慕课网APP
我要回答