分数求和
int main()
{
int i = 0;//定义整型变量
float j, k = 0;//定义两个变量-小数
double sum2 = 0.0;
double sum1 = 0.0;//初始化sum1,sum2
for (i = 1; i <= 100; i++)//for循环1-100所有整数
{
if (i % 2 == 0)//判断奇偶数
{
j = -1.0 / i;
sum1 = sum1 + j;分数求和
}
if (i % 2 == 1)//判断奇偶数
{
k = 1.0/ i;
sum2 = sum2 + k;//求和
}
}
double sum = 0.0;//定义一个求和变量
sum = sum1 + sum2;//所有分数相加
printf("%lf", sum);//打印
return 0;
}
分数求和,首先观察到分子都是1,分母为1-100遍历
当分母为奇数时为正分数,分母为偶数时为负分数
先定义1-100的变量i,初始化i。
遍历1-100的所有数,这时我们采用循环来完成。
第二步,判断分母i的奇偶,如果为偶数,负数除以i,如果为奇数,正数除以i.
此时注意,因为是分数计算,即为小数计算,变量的类型为float(浮点数),必须写成浮点数的运算。否则结果都为0. 1除以2-100里面的数商为0 .。.例如6/4的结果是1.0不是1.5.原因在于C语言里面的整数除法是整除,只会返回整数部分,丢弃小数。如果希望得到浮点数即小数(此题中分数为小数)两个运算数必须至少有一个浮点数,这时C语言会执行浮点数除法。
代码中,我把分子写成1.0浮点数,计算结果为小数。
最后把分步计算的分数值相加得到总值。
执行结果为: