
c语言编程题 求1-1/2+1/3-1/4+1/5的前40项的和 请大神帮我看看我的程序哪里有问题
展开全部
n=2时,s=0+1=1,加的是第1项,以此类推,到n=40,加的是第39项,少加了一项。
如果按你的程序,需要将40改为41,这样才能加上第40项。
即for(n=2;n<=40;n++)改为for(n=2;n<=41;n++),其余不用改。
顺便给出本题的一个比较简单的程序:
#include <stdio.h>
void main(){
int i;double s=0;
for(i=1;i<=40;i++)
i%2?s+=1.0/i:s-=1.0/i;
printf("%f",s);}
更多追问追答
追问
嗯好的,我等会儿改好试试,我会那种简单的,老师要求用函数来编
追答
那还要看你的老师要求函数满足什么样的功能。是按你写的,只是确定正负,还是确定每个累加项的值,还是用函数计算出结果,主函数只是调用函数,然后输出结果。要求不同,函数的写法也是不同的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询