求解 1–1/2+1/3-1/4+……+1/99-1/100 用C语言如何编写 别说叫我看书上的
求解1–1/2+1/3-1/4+……+1/99-1/100用C语言如何编写别说叫我看书上的我看了如果你要给书上的答案请把注释配上...
求解
1–1/2+1/3-1/4+……+1/99-1/100
用C语言如何编写 别说叫我看书上的 我看了 如果你要给书上的答案 请把 注释配上 展开
1–1/2+1/3-1/4+……+1/99-1/100
用C语言如何编写 别说叫我看书上的 我看了 如果你要给书上的答案 请把 注释配上 展开
3个回答
展开全部
//这道题目主要有两个点,一是表达式里面每个分式的通向,第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;
}
//第二点就是累加的计算:首先需要把计算和的累加器置为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;
}
展开全部
-这里一定要用循环,循环次数就是项数: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);
}
-每项前的符号,是上次循环符号乘以负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);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
奶奶
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询