c语言 编写一个程序 1-1/2+1/3-1/4+1/5……-1/99+1/100用while语句!

我希望他的循环语句通过sum=sum-(-1)^n*(1.0/n)来实现,但由于语句错误,我的逻辑是通过-1的n次方来判断加减符号,个人认为逻辑上应该是没有错误,求大神指导!!!

#include<stdio.h>

intmain()

{

intfm=0;

floatsum=0.0;

for(fm=1;fm<=100;fm++)

{

if(fm%2!=0)

{

sum+=1.0/fm;

}

else

{

sum-=1.0/fm;

}

}

printf("sum=%f\n",sum);

return0;

}

扩展资料

C语言计算1/2+2/3+3/4+……:的前n项和

#include<stdio.h>

intmain(void){

inti,j,n,a;

doublef,s;

printf("请输入n的值:");

scanf("%d",&n);

i=1;

j=2;

s=0;

for(a=1;a<=n;a++)

{

f=1.0*i/j;

s+=f;

if(a!=n)

printf("%d/%d+",i,j);

else

printf("%d/%d",i,j);

i++;

j++;

}

printf("=%.2f\n",s);

system("pause");

return0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
判断分母是否是偶数给符号 i=1..i++ 当i=100计算之后跳出while循环本回答被网友采纳
第2个回答  2013-11-15
-1的n次方不能写成(-1)^n,要使用pow函数,pow(int(-1), n);追问

然后下面的那个语句该怎样写啊?

第3个回答  2013-11-15
int s=1;
double n=1;t=1;sum=0;
while(n<=100)

{
sum=sum+t;
n++;
s=-s;
t=s/n;
}
// n不能定义为整型;
第4个回答  2013-11-15
#include <stdio.h>
int main()
{
int i=1,sign=1;
float sum=0.0;
while(i<=100)
{
sign=sign*(-1);
sum=sum-sign*1.0/i;
}
printf("%f",sum);
}

c语言 编写一个程序 1-1\/2+1\/3-1\/4+1\/5……-1\/99+1\/100用while语句!
include<stdio.h>int main(){int i=1; float s=0; while(i<101) {if(i%2)s+=1.0\/i; else s-=1.0\/i; i++; } printf("%f\\n",s); return 0;}

C语言程序 1-1\/2+1\/3-1\/4+...+1\/99-1\/100
在while循环中sign=-sign这句来实现分母的加减。不过你这句有点问题,正确的形式应该是sign=(-1.0)*sign,这样就能实现你的构想了。在这个程序中,你先对sign赋初值为1,在while循环中,每循环到 sign=(-1.0)*sign时就会实现正负(加减)的变换了。

C语言编程计算:1 - 1\/2 + 1\/3 -1\/4 + ... + 1\/99 - 1\/100 +...,直到...
你的第一个问题的程序就是:include <stdio.h> int main(){ int i = 1, sign = 1;double sum = 0, e;do { e = 1.0 \/ i;sum += e * sign;sign = -sign;i++;} while (e > 1e-4);printf("%f\\n", sum);return 0;} ...

c语言编程求1-1\/2+1\/3-1\/4+1\/5-1\/6+…….+1\/99-1\/100的值。 可不可以...
所以不对*\/ else \/\/分母是奇数用加 sum=sum+1.0\/i; } printf("结果等于%lf\\n",sum)}

用C语言编程:求1-1\/2+1\/3-1\/4+1\/5-1\/6+…+1\/99-1\/100+…的值…
printf("please input number n:\\n");\/\/提示用户输入想要的分母值 scanf("%d",&n);\/\/需要用户输入的n的值 for(i=1,sum=0;i<=n;i++)\/\/循环从1到n进行求和 { sum+=k\/i;\/\/累加求和 k*=-1;\/\/实现符号的变换 } printf("%lf\\n",sum);\/\/输出结果 return 0;} 一步一步的写的...

求解1–1\/2+1\/3-1\/4+……+1\/99-1\/100 用C语言如何编写 别说叫我看书...
sum = sum + (-1.0) \/ i;\/\/当然这里你也可以写成sum=sum-(1.0)\/i。\/\/你需要注意的是这里不能写成-1,因为下面的i是整形的,你写成-1的话 \/\/就会被当做整数除以整数,这样除下来的结果就变成0了。你可以试验一下。else sum = sum + 1.0 \/ i;\/\/这里是i%2不等于0,即此时i是...

用c语言求1-1\/2+1\/3-1\/4+1\/5……+1\/99-1\/100
include"stdio.h"main(){ int i,flag=1;double sum=0.0;for(i=1;i<=100;i++){ sum=sum+(1.0\/i)*flag; \/*由于i是整数,所以取1.0来除以i以保证相除后结果是实型*\/ flag=-flag;} printf("1-1\/2+1\/3-1\/4+1\/5……+1\/99-1\/100=%f\\n",sum);} ...

c语言求1-1\/2+1\/3-1\/4+.+1\/99-1\/100答案多少
include <stdio.h>void main(){int i;float j=1.0,sum=0;for(i=1;i<=100;i++){sum+=j\/i;j=-j;}printf("sum=%.4f",sum);}运行结果:

C语言程序"计算1-1\/2+1\/3-1\/4+…+1\/99-1\/100+…,直到最后一项的绝对值小...
\/\/已测试#include <stdio.h>int main(void){ float fm = 1,sum = 0; for(;fm < 10000;fm++) { if((int)fm%2) sum += 1\/fm; else sum -= 1\/fm; } printf("The result is : %f\\n",sum); return 0;} ...

C语言用while语句计算1-1\/2+1\/3-1\/4+...,直到最后一项的绝对值小于10...
fabs(term)>=1e-4 term=sign*1.0\/n sign=-sign 当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}。

相似回答