C語言題1
阿新 • • 發佈:2021-01-02
計算機二級真題(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) ; }