任务和代码:
/*
*Copyright (c)2017 优快云学院
*All rights reserved
*文件名称:main.c
*作者: Osseyda
完成日期:2017.9.18
*版本号:v2.
*
*问题描述:1/3-3/5+5/7-7/9…+19/21
*问题输出:输出其结果
*/
#include <stdio.h>
#include <stdlib.h>
int main( ){
int i,s=1;
double sum=0;
printf("1/3-3/5+5/7-7/9…+19/21= ");
for(i=1; i<=19 ; i+=2){
sum=sum+s*(double)i/(i+2);
s=-s;
}
printf("%.5f\n", sum);
return 0;
}
运行结果:
知识点总结:
1.循环使用累加;2.强制类型转换
心得:
强制类型转换使用时出现错误,sum=sum+s*(double)i/(i+2);写成了sum=sum+s*(double)(i/(i+2));其结果如下:
今后编写时,避免再出现int/int,应该成(double)int/int.