1、把处理函数放到sincostan.h头文件中
#ifndef SINCOSTAN_H
#define SINCOSTAN_H double Sin[91]={0.0000,\
0.0174,0.0348,0.0523,0.0697,0.0871,0.1045,0.1218,0.1391,0.1564,\
0.1736,0.1908,0.2079,0.2249,0.2419,0.2588,0.2756,0.2923,0.3090,\
0.3255,0.3420,0.3583,0.3746,0.3907,0.4067,0.4226,0.4383,0.4539,\
0.4694,0.4848,0.4999,0.5150,0.5299,0.5446,0.5591,0.5735,0.5877,\
0.6018,0.6156,0.6293,0.6427,0.6560,0.6691,0.6819,0.6946,0.7071,\
0.7193,0.7313,0.7431,0.7547,0.7660,0.7771,0.7880,0.7986,0.8090,\
0.8191,0.8290,0.8386,0.8480,0.8571,0.8660,0.8746,0.8829,0.8910,\
0.8987,0.9063,0.9135,0.9205,0.9271,0.9335,0.9396,0.9455,0.9510,\
0.9563,0.9612,0.9659,0.9702,0.9743,0.9781,0.9816,0.9848,0.9876,\
0.9902,0.9925,0.9945,0.9961,0.9975,0.9986,0.9993,0.9998,1.0000,};
double Cos[91]={1.0000,\
0.9998,0.9993,0.9986,0.9975,0.9961,0.9945,0.9925,0.9902,0.9876,\
0.9848,0.9816,0.9781,0.9743,0.9702,0.9659,0.9612,0.9563,0.9510,\
0.9455,0.9396,0.9335,0.9271,0.9205,0.9135,0.9063,0.8987,0.8910,\
0.8829,0.8746,0.8660,0.8571,0.8480,0.8386,0.8290,0.8191,0.8090,\
0.7986,0.7880,0.7771,0.7660,0.7547,0.7431,0.7313,0.7193,0.7071,\
0.6946,0.6819,0.6691,0.6560,0.6427,0.6293,0.6156,0.6018,0.5877,\
0.5735,0.5591,0.5446,0.5299,0.5150,0.5000,0.4848,0.4694,0.4539,\
0.4383,0.4226,0.4067,0.3907,0.3746,0.3583,0.3420,0.3255,0.3090,\
0.2923,0.2756,0.2588,0.2419,0.2249,0.2079,0.1908,0.1736,0.1564,\
0.1391,0.1218,0.1045,0.0871,0.0697,0.0523,0.0348,0.0174,0.0000,};
double Tan[91]={0.0000,\
0.0174,0.0349,0.0524,0.0699,0.0874,0.1051,0.1227,0.1405,0.1583,\
0.1763,0.1943,0.2125,0.2308,0.2493,0.2679,0.2867,0.3057,0.3249,\
0.3443,0.3639,0.3838,0.4040,0.4244,0.4452,0.4663,0.4877,0.5095,\
0.5317,0.5543,0.5773,0.6008,0.6248,0.6494,0.6745,0.7002,0.7265,\
0.7535,0.7812,0.8097,0.8390,0.8692,0.9004,0.9325,0.9656,0.9999,\
1.0355,1.0723,1.1106,1.1503,1.1917,1.2348,1.2799,1.3270,1.3763,\
1.4281,1.4825,1.5398,1.6003,1.6642,1.7320,1.8040,1.8807,1.9626,\
2.0503,2.1445,2.2460,2.3558,2.4750,2.6050,2.7474,2.9042,3.0776,\
3.2708,3.4874,3.7320,4.0107,4.3314,4.7046,5.1445,5.6712,6.3137,\
7.1153,8.1443,9.5143,11.430,14.300,19.081,28.636,57.289,0.0000,};
double sin_angle(int angle) {double ret=0.00; if ((angle>=0&&angle<=90)||(angle>=-360&&angle<=-270)){if(angle>0)ret=Sin[angle];else ret=Sin[360+angle];return ret;} if ((angle>90&&angle<=180)||(angle>-270&&angle<=-180)){if(angle>0)ret=Sin[180-angle];else ret=Sin[0-angle-180];return ret;}if ((angle>180&&angle<=270)||(angle>-180&&angle<=-90)){if(angle>0)ret=0-Sin[angle-180];else ret=0-Sin[180+angle];return ret;} if ((angle>270&&angle<= 360)||(angle>-90&&angle<=0)){if(angle>0)ret=0-Sin[360-angle];else ret=0-Sin[0-angle];return ret;} return 0;
}
double cos_angle(int angle) {double ret; if ((angle>=0&&angle<=90)||(angle>=-360&&angle<=-270)){if(angle>0)ret=Cos[angle];else ret=Cos[360+angle];return ret;} if ((angle>90&&angle<=180)||(angle>-270&&angle<=-180)){if(angle>0)ret=0-Cos[180-angle];else ret=0-Cos[0-angle-180];return ret;}if ((angle>180&&angle<=270)||(angle>-180&&angle<=-90)){if(angle>0)ret=0-Cos[angle-180];else ret=0-Cos[180+angle];return ret;} if ((angle>270&&angle<= 360)||(angle>-90&&angle<=0)){if(angle>0)ret=Cos[360-angle];else ret=Cos[0-angle];return ret;}return 0;
}
double tan_angle(int angle) {double ret; if ((angle>=0&&angle<=90)||(angle>=-360&&angle<=-270)){if(angle>0)ret=Tan[angle];else ret=Tan[360+angle];return ret;} if ((angle>90&&angle<=180)||(angle>-270&&angle<=-180)){if(angle>0)ret=0-Tan[180-angle];else ret=0-Tan[0-angle-180];return ret;}if ((angle>180&&angle<=270)||(angle>-180&&angle<=-90)){if(angle>0)ret=Tan[angle-180];else ret=Tan[180+angle];return ret;} if ((angle>270&&angle<= 360)||(angle>-90&&angle<=0)){if(angle>0)ret=0-Tan[360-angle];else ret=0-Tan[0-angle];return ret;}return ret;
}
#endif
2、main函数调用
#include <stdio.h>
#include "sincostan.h"
int main() {int i;for(i=-360;i<361;i++)printf("sin(%d)=%f\n",i,sin_angle(i));for(i=-360;i<361;i++)printf("cos(%d)=%f\n",i,cos_angle(i));for(i=-360;i<361;i++)printf("tan(%d)=%f\n",i,tan_angle(i));return 0;
}