由于累加项数由用户自己输入,无法确定n的奇偶性,于是排除分母奇数项(正)和偶数项(负)单独求和的方法。
注意事项:
正负号的转化
浮点型的定义
方法一:for循环
#include<stdio.h>
int main()
{
int n = 0;
int i = 0;
double flag = 1.0;//正负号改变的载体
double sum = 0.0;//注意结果需要浮点数
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum += flag * 1 / i;
flag = -flag;//借助循环进行正负号转化
}
printf("1-1/2+1/3...+1/99-1/100...=%lf", sum);
return 0;
}
方法二:while循环
#include<stdio.h>
int main()
{
int n = 0;
int i = 0;
double flag = 1.0;//正负号改变的载体
double sum = 0.0;//注意结果需要浮点数
scanf("%d", &n);
while(i<n)
{
i++;
sum += flag * 1 / i;
flag = -flag;//借助循环进行正负号转化
}
printf("1-1/2+1/3...+1/99-1/100...=%lf", sum);
return 0;
}
while循环与for循环大同小异,却需要注意以下几点:
判断部分:i<n 还是 i<=n,
对于for:则一定是后者;
对于while:若i++放在循环语句之前,即上面代码所示,则用i<n ;
若i++放在循环语句之后,则与for运行顺序完全相同,用 i<=n。
注意循环变量i的初始化,是0还是1,尤其对于while
今天就敲到这里啦,欢迎大家来讨论。
这里是小玉,一个梦想成为代码高手的女孩子。