c语言:编写代码时,为什么循环体里的sum+=-1/i是错误的,而1.0/i是正确的?
求1 - 1/2 + 1/3 …+ 1/99 - 1/100 。错误代码#include <stdio.h>int main(int argc, char *argv[]){int i; double sum=0;printf("题目:1 - 1/2 + 1/3 …+ 1/99 - 1/100 "); for(i=1;i<=100;i++){if(i%2==0) {sum+=-1/i;}else if(i%2==1) {sum+=1/i;} }printf("%lf ",sum); return 0;}正确代码#include <stdio.h>int main(int argc, char *argv[]){int i; double sum=0;printf("题目:1 - 1/2 + 1/3 …+ 1/99 - 1/100 "); for(i=1;i<=100;i++){if(i%2==0) //若分子为偶数时,运算符为减号 //i%2==0 偶数 i%2==1奇数 {sum+=-1.0/i;}else if(i%2==1) {sum+=1.0/i;} }printf("%lf ",sum); return 0;}
热门标签: