求解 1–1/2+1/3-1/4+……+1/99-1/100 用C语言如何编写 别说叫我看书上的

求解
1–1/2+1/3-1/4+……+1/99-1/100
用C语言如何编写 别说叫我看书上的 我看了 如果你要给书上的答案 请把 注释配上

//这道题目主要有两个点,一是表达式里面每个分式的通向,第i项的分式为:1/i(如果i是奇数),(-1)/i(如果i是偶数)
//第二点就是累加的计算:首先需要把计算和的累加器置为0,然后累加每一项分式
#include<stdio.h>
int main()
{
int i;//i表示的是分母,比如1/5,下面的5
float sum = 0;//这个用来计算和
for (i = 1; i < 100; i++)//分母下面的数是1到100,所以我们从1到100一一计算出来
{
if (i % 2 == 0)//你可以观察一下那个表达式,如果分母为偶数的话是减去,
//分母是奇数的话是加上。使用i%2,如果i%2的结果是0,即i整除2的结果
//是0,所以i就是偶数,我们就在它前面乘以-1,这样加上就相当于减去了,
//反之,那就是奇数,那就直接写就好了。
sum = sum + (-1.0) / i;//当然这里你也可以写成sum=sum-(1.0)/i。
//你需要注意的是这里不能写成-1,因为下面的i是整形的,你写成-1的话
//就会被当做整数除以整数,这样除下来的结果就变成0了。你可以试验一下。
else sum = sum + 1.0 / i;//这里是i%2不等于0,即此时i是奇数,那就直接加上1/i
}
printf("\n\n%.4f\n",sum);//打印结果%.4f表示保留浮点数的4位小数
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-10
-这里一定要用循环,循环次数就是项数:100次循环,循环变量分别取值0,1,2,...,99,每次循环计算1项,运用累加将新计算出来的项加到和变量里去,最终结果就在循环结束后的累加变量中。下面各步骤都在循环中完成计算。
-每项前的符号,是上次循环符号乘以负1,第1次循环从正1开始
-每项的分子都是1
-每项的分母是循环变量取值加1:1~100
注意每项要用浮点数进行计算才能得到小数部分,如果要求精度还可选用双精度变量
#include<stdio.h>
void main()
{ int i,fm,fh; //i循环变量,fm计算当前项的分母,fh计算当前项符号
float s,x; //s存放累加和,x计算当前项
for ( i=0,s=0,fh=1;i<100;i++ ) //累加和清0,符号以1开始
{ fm=i+1; //分母等于当前循环变量值加1
x=fh*1.0/fm; //计算当前项:符号乘以1除以分母
//注意1要写成浮点形式以便让计算机计算浮点结果,否则会计算整数结果的
s+=x; //当前项加入累加和
fh=-fh; //下一项的符号是当前项取负值用fh*=(-1);也可以
}
printf("1-1/2+1/3-1/4+...+1/99-1/100=%f\n",s);

}本回答被网友采纳
第2个回答  2014-10-10
奶奶

求解1–1\/2+1\/3-1\/4+……+1\/99-1\/100 用C语言如何编写 别说叫我看书...
int main(){ int i;\/\/i表示的是分母,比如1\/5,下面的5 float sum = 0;\/\/这个用来计算和 for (i = 1; i < 100; i++)\/\/分母下面的数是1到100,所以我们从1到100一一计算出来 { if (i % 2 == 0)\/\/你可以观察一下那个表达式,如果分母为偶数的话是减去,\/\/分母是奇数的话是加...

用c语言写出求1-1\/2+1\/3-1\/4+……+1\/99-1\/100的程序代码。帮忙啊。我...
void main(){ float result = 0;int i = 0;float sign = 1;for(i = 0; i< 100; i++){ if( i % 2 == 0)sign = 1;else sign = -1;result = result + sign \/ (i + 1);printf("result = %f\\n", result);} return;} ...

用c语言求1-1\/2+1\/3-1\/4+1\/5……+1\/99-1\/100
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
int main(){ int i;float sum=0.0,temp=0.0;for (i = 1; i <= 100; i++){ temp = pow(-1, i + 1);sum = sum + temp * 1 \/ i;} printf("sum is %f\\n", sum);system("pause");return 0;} 运行效果:

c语言编程求1-1\/2+1\/3-1\/4+1\/5-1\/6+…….+1\/99-1\/100的值。 可不可以...
{ if(i%2==0) \/\/分母是偶数用减 sum=sum-1.0\/i; \/*这里用 1.0\/i 不能用1\/i,1\/i得到的整型,比如 1\/5会等于0,而这里想要的是等于0.2,所以不对*\/ 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+…的值…
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;} 一步一步的写的,希望对你有帮助!

C语言编程计算1-1\/2+1\/3-1\/4+...+1\/99-1\/100
for语句下面加{ printf语句上面加},也就是说你的for循环主体少了{}括号,这样子的话,实际循环主体就只有k=-k这一句了。

用C语言计算1-1\/2+1\/3-1\/4+1\/5...+1\/99-1\/100
c语言中在操作除法是如果两个操作数都为整数,则结果为整数,比如1\/2=0 你需要把sum改成浮点型。float sum;sum=sum+(1.0\/i)-(1.0\/(i+1));

使用C语言计算1-1\/2+1\/3-1\/4+1\/5...+1\/99-1\/100
回答:把 printf("The sum is %d\\n",sum); 里面的 %d 换成 %f 整数 双精度

怎么用C语言编程求:1-1\/2+1\/3-1\/4+...+1\/99-1\/100
include <stdio.h>int main(int argc,char *argv[]){ int i; double sum; for(sum=0.0,i=1;i<101;i++) sum += i&1 ? 1.0\/i : -1.0\/i; printf("The result is %g\\n",sum); return 0;}

相似回答