宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取
1、求出e^x某一项小于0.001
源程序代码如下:
/* 2017年6月9日11:07:45 功能:求出e^x某一项小于0.001 */ #include "stdio.h" #define M 0.001 double e_Tolyint i, int Num); //声明与定义函数的格式一致,两则仅有一个分号的区别 int main) { int count = 1, num; double sum = 0, temp; printf"please input a number : "); scanf"%d",&num); while1) { temp = e_Tolycount, num ); iftemp > M) { sum += temp; count++; } else { sum += temp; break; } } printf"请输出求和的最后结果:%f ",sum); printf"请输出最后一项的值:%lf ",temp); printf"请输出总共计算了%d 项",count); printf" "); return 0; } double e_Tolyint i, int Num ) //输入的值,就是表达式中X元素 { double result = 1 , power = 1; //power是进行幂运算的起始值,如果在一次中调用函数被多次调用,此时double result = 1 , power = 1;这样的定义需注意 ifi == 1) return result; else if i > 1) { forint j = 1; j < i; j++) { result *= j; power *= Num ; } result =power /result; return result; } } /* 总结: 在VC++6.0中显示的结果: ———————————————————————— please input a number : 3 请输出求和的最后结果:20.085469 请输出最后一项的值:0.000256 请输出总共计算了14 项 ———————————————————————— */
2、求出cosx某一项小于0.001
源程序代码如下:
/* 2017年6月10日06:52:21 cosx的泰勒展开式某一项小于0.001 */ #include "stdio.h" #define M 0.001 double cosx_Tolyint i, double Num); int main) { int count = 1; double input_num; double sum = 0, temp; printf"please input a number: "); scanf"%lf",&input_num); whiletrue) { temp = cosx_Tolycount, input_num); iftemp > M) { ifcount % 2 != 0) { sum += temp; } else { sum -= temp; } count++; } else { ifcount % 2 != 0) { sum += temp; //根据泰勒公式展开奇数项为正,偶数项为负 } else { sum -= temp; } break; } } printf"please output the number of temp: %lf ",temp); printf"please output the number of sum: %lf ",sum); printf"please output the number of count: %d ",count); return 0; } double cosx_Tolyint i, double Num) { int j; double result = 1, power = 1; forj = 1; j <= 2*i-2); j++) //注意此处的是<=,不是< { result *= j; power *= Num; } result = power / result ; return result; } /* 总结: 在vc++6.0中的结果显示: —————————————————————————————— please input a number: 3.14 please output the number of temp: 0.000104 please output the number of sum: -1.000003 please output the number of count: 8 —————————————————————————————— */
3、求出sinx某一项小于0.001
1、源程序代码如下:
/* 2017年6月10日06:24:46 功能:求sinx的某一项小于0.001 */ #include "stdio.h" #define M 0.001 double sinx_Tolyint i, double Num); int main) { int count = 1; double input_num; double sum = 0, temp; printf"please input a number:"); scanf"%lf",&input_num); whiletrue) { temp = sinx_Tolycount, input_num); iftemp > M) { ifcount % 2 != 0) { sum += temp; } else { sum -= temp; } count++; } else { ifcount % 2 != 0) { sum += temp; } else { sum -= temp; } break; } } printf"please output the number of temp: %lf ",temp); printf"please output the number of sum: %lf ",sum); printf"please output the number of count: %d ",count); return 0; } double sinx_Tolyint i, double Num) { double power = 1; int j; double result = 1; forj = 1; j <= 2*i-1); j++) { power *= Num; result *= j; } result = power / result; return result; } /* 总结: 在vc++6.0中显示的结果为: —————————————————————————————————— please input a number:3 please output the number of temp: 0.000256 please output the number of sum: 0.141131 please output the number of count: 7 —————————————————————————————————— */
2、源程序代码如下:
/* 2017年3月16日09:08:58 功能:求sinx)的最后一项的绝对值小于10^-5),并统计项数。 */ #include<stdio.h> #include<math.h> #define M 0.000001 void main) { int x, i, k, m = -1, count = -1; double j, result = 0; printf"please input the number x = "); scanf"%d",&x); fori = 1;fabsj) >= M;i += 2) { j = 1; m=-m; //控制多项式符号的 fork = 1; k <= i; k++) //这是算阶乘的 j *= k; j = m*powx,i)/j; //这是计算单个多项式的结果的 count++; result += j; //累加多个多项式 } printf"count= %d ",count); //累计项数的次数 printf"sinx)= %lf ",result); //测试结果的,调用的 sinx)函数 } /* 总结: 在VC++6.0中显示的结果: ————————————————————————— please input the number x = 3 count= 8 sinx)= 0.141120 ————————————————————————— */
4、求出1+x)^m某一项小于0.001
源程序代码如下:
/* 2017年6月10日08:01:06 功能:求1+x)^m的某一项小于0.001 */ #include "stdio.h" #define M 0.001 double M_Tolyint i, double Num, int m); int main) { int count = 1, n; double input_num; double sum = 0, temp; printf"please input a number:"); scanf"%lf",&input_num); printf"please input a power_number:"); scanf"%d",&n); whiletrue) { temp = M_Tolycount, input_num, n); iftemp > M) { sum += temp; count++; } else { sum += temp; break; } } printf"please output the number of temp: %lf ",temp); printf"please output the number of sum: %lf ",sum); printf"please output the number of count: %d ",count); return 0; } double M_Tolyint i, double Num, int m) { double power = 1; int j, m_num = 1; double result = 1; ifi == 1) return result; else ifi >1) { forj = 1; j < i; j++) { result *= j; m_num *= m-j+1); power *= Num; } } result =power * m_num)/ result; return result; } /* 总结: 在vc++6.0中显示的结果为: —————————————————————————————————— please input a number:2 please input a power_number:3 please output the number of temp: 0.000000 please output the number of sum: 27.000000 please output the number of count: 5 —————————————————————————————————— */
5、求出ln1+x)某一项小于0.001
源程序代码如下:
/* 2017年6月10日09:11:06 功能:求ln1+x)的某一项小于0.001 */ #include "stdio.h" #define M 0.001 double ln_Tolyint i, double Num); int main) { int count = 1; double input_num; double sum = 0, temp; printf"please input a number:"); scanf"%lf",&input_num); whiletrue) { temp = ln_Tolycount, input_num); iftemp > M) { ifcount % 2 != 0) { sum += temp; } else { sum -= temp; } count++; } else { ifcount % 2 != 0) { sum += temp; //根据泰勒公式展开奇数项为正,偶数项为负 } else { sum -= temp; } break; } } printf"please output the number of temp: %lf ",temp); printf"please output the number of sum: %lf ",sum); printf"please output the number of count: %d ",count); return 0; } double ln_Tolyint i, double Num) { double power = 1; int j; double result = 1; forj = 1; j <= i; j++) { power *= Num; } result =power / j; return result; } /* 总结: 在vc++6.0中显示的结果为: —————————————————————————————————— please input a number:0.5 please output the number of temp: 0.000977 please output the number of sum: 0.189369 please output the number of count: 7 —————————————————————————————————— */