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-11
MATLAB算法技巧和實現(xiàn)斐波那契數(shù)列的解決思路
這篇文章主要介紹了MATLAB算法技巧和實現(xiàn)斐波那契數(shù)列,這篇主要說一下自己在算法設(shè)計課上用matlab做的兩道算法題,題目解起來都比較簡單,但是需要些技巧,需要的朋友可以參考下2022-12-12
VS2010 boost標(biāo)準(zhǔn)庫開發(fā)環(huán)境安裝教程
這篇文章主要為大家詳細(xì)介紹了VS2010 boost標(biāo)準(zhǔn)庫開發(fā)環(huán)境的安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04

