永发信息网

计算1-1/4+1/7-1/10+1/13.......求前n项和

答案:6  悬赏:30  手机版
解决时间 2021-04-07 01:51
  • 提问者网友:温柔港
  • 2021-04-06 12:21
计算1-1/4+1/7-1/10+1/13.......求前n项和
最佳答案
  • 五星知识达人网友:拜訪者
  • 2021-04-06 13:09
#include
void main()
{ int n,i;
double result,flag;//flag应设为浮点型,1/2会等于0
printf("请输入数值n:");
scanf("%d",&n);
for(i=1,result=0,flag=1;i<=3*n-2;i=i+3)
{
result=result+flag*1/i;
flag=-1*flag;
}
printf("%lf",result);
}
全部回答
  • 1楼网友:西岸风
  • 2021-04-06 16:18
result=result+flag*1/i;
这一句有问题:
改成
result=result+(double)flag*1/i;
你源程序里面的flag*1/i除出来是个INT型,转换成DOUBLE型即可
  • 2楼网友:底特律间谍
  • 2021-04-06 15:51
问题出在 1/i 上 i是int型 1除以任何int型都是1
你需要把i变成double型 或者将flag换成double型
  • 3楼网友:狂恋
  • 2021-04-06 15:25
太简单啦 你的i为int型的
result=result+flag*1/i;这里应该把i强制转换为float或者double型。即result=result+flag*1/(float)i
  • 4楼网友:孤独的牧羊人
  • 2021-04-06 14:21
把flag改成double
result=result+flag*1/i; 这里flag/i=0了,所以输出一直是1.000000
  • 5楼网友:罪歌
  • 2021-04-06 13:45
你用while循环语句试一下。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯