#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;
}