1. 程式人生 > 其它 >C語言題1

C語言題1

技術標籤:筆記c語言程式語言程式人生經驗分享

計算機二級真題(c語言程式設計題)001

題目
題目解析:
本題用程式設計實現數學上近似求π的值,整體思路比較簡單,用迴圈判斷精度是否在輸入範圍,若在範圍內則繼續迴圈。

 #include <stdio.h>
 #include <math.h>//因為使用了數學計算包含數學標頭檔案 double  fun ( double  eps)//定義實現此題目的函式,設定精度形參為eps {   int n=0;//定義變數n   double
   down=1,up=1;//定義分子母down,分子up並賦初值   double one ,pi=0;   one  =
(double)up/(double)down;//分數值賦給one while(one>=eps) { /*通過迴圈語句判斷公式中某項是否在精度範圍之內,當公式的某項不在此範圍結束迴圈*/ pi+=one; n++; up=up*n; down=down*(2*n+1); one=(double)up/(double)down; } return pi*2; } main( ) { double x;void NONO (); printf("Input eps:"
) ; scanf("%lf",&x); printf("\neps = %lf, PI=%lf\n", x, fun(x)); NONO(); getchar(); } void NONO () {/* 本函式用於開啟檔案,輸入資料,呼叫函式,輸出資料,關閉檔案。 */ FILE *fp, *wf ; int i ; double x ; fp = fopen("..\\..\\in.dat","r") ; wf = fopen(
"..\\..\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fscanf(fp, "%lf", &x) ; fprintf(wf, "%lf\n", fun(x)) ; } fclose(fp) ; fclose(wf) ; }