-這裡一定要用迴圈,迴圈次數就是項數:100次迴圈,迴圈變數分別取值0,1,2,...,99,每次迴圈計算1項,運用累加將新計算出來的項加到和變數裡去,最終結果就在迴圈結束後的累加變數中。下面各步驟都在迴圈中完成計算。
-每項前的符號,是上次迴圈符號乘以負1,第1次迴圈從正1開始
-每項的分子都是1
-每項的分母是迴圈變數取值加1:1~100
注意每項要用浮點數進行計算才能得到小數部分,如果要求精度還可選用雙精度變數
#include<stdio.h>
void main()
{ int i,fm,fh; //i迴圈變數,fm計算當前項的分母,fh計算當前項符號
float s,x; //s存放累加和,x計算當前項
for ( i=0,s=0,fh=1;i<100;i++ ) //累加和清0,符號以1開始
{ fm=i+1; //分母等於當前迴圈變數值加1
x=fh*1.0/fm; //計算當前項:符號乘以1除以分母
//注意1要寫成浮點形式以便讓計算機計算浮點結果,否則會計算整數結果的
s+=x; //當前項加入累加和
fh=-fh; //下一項的符號是當前項取負值用fh*=(-1);也可以
}
printf("1-1/2+1/3-1/4+...+1/99-1/100=%f\n",s);
-這裡一定要用迴圈,迴圈次數就是項數:100次迴圈,迴圈變數分別取值0,1,2,...,99,每次迴圈計算1項,運用累加將新計算出來的項加到和變數裡去,最終結果就在迴圈結束後的累加變數中。下面各步驟都在迴圈中完成計算。
-每項前的符號,是上次迴圈符號乘以負1,第1次迴圈從正1開始
-每項的分子都是1
-每項的分母是迴圈變數取值加1:1~100
注意每項要用浮點數進行計算才能得到小數部分,如果要求精度還可選用雙精度變數
#include<stdio.h>
void main()
{ int i,fm,fh; //i迴圈變數,fm計算當前項的分母,fh計算當前項符號
float s,x; //s存放累加和,x計算當前項
for ( i=0,s=0,fh=1;i<100;i++ ) //累加和清0,符號以1開始
{ fm=i+1; //分母等於當前迴圈變數值加1
x=fh*1.0/fm; //計算當前項:符號乘以1除以分母
//注意1要寫成浮點形式以便讓計算機計算浮點結果,否則會計算整數結果的
s+=x; //當前項加入累加和
fh=-fh; //下一項的符號是當前項取負值用fh*=(-1);也可以
}
printf("1-1/2+1/3-1/4+...+1/99-1/100=%f\n",s);
}