#include<stdio.h>
int main(){double sum1=0;double sum2=0;double sum3=0;double sum;int i;for(i=1;i<=100;i++){sum1=sum1+i;}printf("sum1结果是:%15.6f\n",sum1);for(i=1;i<=50;i++){sum2=sum2+i*i;}printf("sum2结果是:%15.6f\n",sum2);for(i=1;i<=10;i++){sum3=sum3+1/i;}printf("sum3结果是:%15.6f\n",sum3);sum=sum1+sum2+sum3;printf("sum结果是:%15.6f\n",sum);return 0;
}
看啊,这个代码其实有问题。
因为分数那个,一开始的i是int 那么1/2 , 1/3 这种就会自动取整
所以 sum3结果就是1。
改正:
#include<stdio.h>
int main(){double sum1=0;double sum2=0;double sum3=0;double sum;double i;//拒绝 int i;for(i=1;i<=100;i++){sum1=sum1+i;}printf("sum1结果是:%15.6f\n",sum1);for(i=1;i<=50;i++){sum2=sum2+i*i;}printf("sum2结果是:%15.6f\n",sum2);for(i=1;i<=10;i++){sum3=sum3+1/i;}printf("sum3结果是:%15.6f\n",sum3);sum=sum1+sum2+sum3;printf("sum结果是:%15.6f\n",sum);return 0;
}