应该是递归层次太多,导致溢出了,考虑这个转变成循环吧,不然70级斐波那契递归层次太多了
成都创新互联公司是一家集网站建设,恭城企业网站建设,恭城品牌网站建设,网站定制,恭城网站建设报价,网络营销,网络优化,恭城网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
/*Note:YourchoiceisCIDE*/#include"stdio.h"#include"stdlib.h"#include"ctype.h"intn=0;charrecord[20];floatproduct();floatchange();floatmuli(){floatsumm;summ=product();while(record[n]=='-'||record[n]=='+'){switch(record[n]){case'+':n++;summ+=product();break;case'-':n++;summ-=product();break;}}returnsumm;}floatproduct(){floatsump;sump=change();while(record[n]=='*'||record[n]=='/'){switch(record[n]){case'*':n++;sump*=change();break;case'/':n++;sump/=change();break;}}returnsump;}floatchange(){floatsumc;charrec[20],i=0;if(record[n]=='('){n++;sumc=muli();}if(record[n]==')')n++;while(isdigit(record[n])||record[n]=='.'){while(isdigit(record[n])||record[n]=='.')rec[i++]=record[n++];rec[i]='\0';sumc=atof(rec);}returnsumc;}voidmain(){while(1){n=0;scanf("%s",record);printf("%s=%g\n",record,muli());}}这个是比较简单的。。。但是有点难理解。。。不过运行绝对正确。。还支持括号。。。但是在这个程序里面我加没有出错处理。。。另一种方法是用栈写。。。这个好理解。。但是麻烦。。。
这两者是从不同角度定义的不同概念。
不定积分是一个函数的全体原函数,是一个函数族(函数的集合);
定积分是与函数有关的一个和式的极限,是一个实数。
从概念而言,这两者是完全不同的、毫无关系的,或者说是风马牛不相及的。
但是牛顿-莱布尼兹公式却把它们联系起来,这就是这两位先驱者的伟大之处,虽然在今人看起来并没有多少深奥,倒反而有人会把这两个概念混淆在一起。如果当初这两个概念也那么容易相混的话,大概等不到牛顿出生,微积分早被创立了。
牛顿-莱布尼兹公式告诉我们,定积分那个极限,等于被积函数的原函数在积分区间右端点的值减去左端点的值,定积分也就与原函数有了联系,定积分之所以叫定积分大概也是因为这个原因。但是取这个名也有副作用,因为不定积分比定积分只多了一个“不”字,一些人就认为它们是一样的或者是稍有区别的,这大概也是今天这个问题被提出的原因。
建议学习高等数学的同学们,不要问不定积分与定积分有什么区别,而是把它们作为两个完全不同的概念分别学习好,再也不要搞混在一起。