C語言實現(xiàn)三角函數(shù)表
本文實例為大家分享了C語言列寫三角函數(shù)表的具體代碼,供大家參考,具體內(nèi)容如下
下面是用函數(shù)指針實現(xiàn)的三角函數(shù)表,其中cos函數(shù)、sin函數(shù)和tan函數(shù)都已經(jīng)在<math.h>中定義,函數(shù)tabulate中使用的函數(shù)ceil也屬于<math.h>,當(dāng)給定double型實參x時,函數(shù)ceil會返回大于或等于x的最小整數(shù)。當(dāng)給定三角函數(shù)的起始值,終止值和步長以后,程序會打印出相對應(yīng)的三角函數(shù)值。
#include <math.h> #include <stdio.h> // 傳遞函數(shù)指針f時,tabulate函數(shù)顯示函數(shù)f的值 void tabulate(double (*f)(double), double first, double last, double incr); int main(void) { double initial, final, increment; printf("Enter initial value: "); scanf("%lf", &initial); printf("Enter final value: "); scanf("%lf", &final); printf("Enter increment: "); scanf("%lf", &increment); printf("\n x cos(x)" "\n ------- -------\n"); tabulate(cos, initial, final, increment); printf("\n x sin(x)" "\n ------- -------\n"); tabulate(sin, initial, final, increment); printf("\n x tan(x)" "\n ------- -------\n"); tabulate(tan, initial, final, increment); return 0; } void tabulate(double (*f)(double), double first, double last, double incr) { double x; int i, num_intervals; num_intervals = ceil((last - first) / incr); for (i = 0; i <= num_intervals; i++) { x = first + i * incr; printf("%10.5f %10.5f\n", x, (*f)(x)); } }
參考資料:
《C語言程序設(shè)計現(xiàn)代方法》
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在matlab中實現(xiàn)for循環(huán)的方法
for循環(huán)用來循環(huán)處理數(shù)據(jù),break用于終止離它最近的一層for循環(huán),continue用于跳過離它最近的一層for循環(huán),接著執(zhí)行下一次循環(huán),本文重點給大家介紹在matlab中實現(xiàn)for循環(huán)的方法,感興趣的朋友一起看看吧2021-11-11MATLAB算法技巧和實現(xiàn)斐波那契數(shù)列的解決思路
這篇文章主要介紹了MATLAB算法技巧和實現(xiàn)斐波那契數(shù)列,這篇主要說一下自己在算法設(shè)計課上用matlab做的兩道算法題,題目解起來都比較簡單,但是需要些技巧,需要的朋友可以參考下2022-12-12VS2010 boost標(biāo)準(zhǔn)庫開發(fā)環(huán)境安裝教程
這篇文章主要為大家詳細介紹了VS2010 boost標(biāo)準(zhǔn)庫開發(fā)環(huán)境的安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04