急求c语言入门用1进退法2二分法3黄金分割...

杨振华最优化方法课件2008[满分99]_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
488页免费39页免费35页免费17页免费17页免费12页免费198页7下载券92页7下载券86页2下载券121页2下载券
喜欢此文档的还喜欢47页免费488页免费31页免费67页免费53页1下载券
杨振华最优化方法课件2008[满分99]|南​京​邮​电​大​学​,​杨​振​华​老​师​的​最​优​化​课​件​,​非​常​好​,​供​研​究​生​学​习​分​享​。
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢C语言如何以逗号分割字符串 就是用scanf输入一行“1,2,3,4&把这四个数据存到数组该怎么写_百度知道
C语言如何以逗号分割字符串 就是用scanf输入一行“1,2,3,4&把这四个数据存到数组该怎么写
C语言何逗号割字符串用scanf输入行1,2,3,4&四数据存数组该写
提问者采纳
int a[4];scanf(&%d,%d,%d,%d&, &a[0], &a[1], &a[2], &a[3]);
我说得是字符串
&&&&char&szSrc[]=&1,2,3,4&;&&&&char&szSeps[]&=&&,&;&&&&char&*&&&&int&i=0;&&&&&int&arr[10]&=&{0};&&&&&&&&token&=&strtok(&szSrc,&szSeps&);&&&&while(&token&!=&NULL&)&&&&{&&&&&&&&arr[i++]&=&atoi(token);&&&&&&&&token&=&strtok(&NULL,&szSeps&);&&&&}
怎么输出?用printf怎么输出
提问者评价
太给力了,你的回答完美的解决了我的问题!
其他类似问题
scanf的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁急求C语言用1进退法2二分法3黄金分割法4牛顿切线法5综合法这五种方法的NS图和程序,简单就好,急!_百度知道
急求C语言用1进退法2二分法3黄金分割法4牛顿切线法5综合法这五种方法的NS图和程序,简单就好,急!
各位仁兄,我急用!全部家当都奉上!!!!
提问者采纳
#include&stdio.h&#include&math.h&void main(){
void function1();//搜索法
void function2();//二分法
void function4();//牛顿法
printf(&请选择求解的方法:\n\t1.搜索法\n\t2.二分法\n\t3.牛顿法\n:&);
function1();
function2();
function4();
}void 沪酣高叫薨既胳习供卢function1()//搜索法计算非线性方程的解{
double expression1(double);
double lpoint=1.0,rpoint=2.0,step=0.0001;
while(expression1(lpoint)&-0.00001)
lpoint=lpoint+
printf(&运用搜索法所求结果:%f\n&,lpoint);}void function2()//二分法计算非线性方程的解{
double expression1(double);
double lpoint=1,rpoint=2,
mpoint=(lpoint+rpoint)/2;
while(fabs(expression1(mpoint))&0.00001)
mpoint=(lpoint+rpoint)/2;
if(expression1(lpoint)*expression1(mpoint)&0)
printf(&运用二分法所求结果:%f\n&,mpoint);}void function4()//牛顿法计算非线性方程的解{
double expression1(double);
double expression2(double);
double x=1.5;
while(expression1(x)&0.00001)
x=x-expression1(x)/expression2(x);
}printf(&运用牛顿法所求结果:%f\n&,x);}double expression1(double x){
result=x*x*x-x*x-1;}double expression2(double x){
result=3*x*x-2*x;
其他类似问题
黄金分割法的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言编程,用黄金分割法求f(a)=a*a-7*a+10的最优解。设初始值a0=0,初始步长h=1,取迭代精度=0.35。急…_百度知道
C语言编程,用黄金分割法求f(a)=a*a-7*a+10的最优解。设初始值a0=0,初始步长h=1,取迭代精度=0.35。急…
C语言编程用黄金割求f(a)=a*a-7*a+10优解已知初始区间【0,6】取终止迭代点精度=0.01面……
提问者采纳
#include &stdio.h&#include &math.h&float GetEquation(float x){ return x*x-7*x+10;}void main(){ float a=0; float b=6; float result = 0; do {
float c=a+0.618*(b-a);
float d=a+b-c;
if(fabs(GetEquation(c)) & fabs(GetEquation(d)))
} } while(fabs(GetEquation(result)) & 0.01); printf(&f(a)=a*a-7*a+10\n&); printf(&a=%f\n&,result);}
运行的结果似乎不对……
1..*1. = 0.要求的精度是0.01是我哪里理解错误了吗,是要求a*a-7*a+10=0的解吗?你跟我说一下你的黄金分割法求解是怎么求的PS,这种迭代求解求不了那么精确的2跟5,不然怎么会有精度要求呢补充:这种求解法通常都是只能求出一个近似解,如果是针对这个方程求解全部解的话,需要把解区间分解一下,分别取[0,3.5]和[3.5,6]来求,并且提高精度,我这边提升到了0.000001才看着像2跟5,但实际还是一个似近解而已。#include &stdio.h&#include &math.h&float GetEquation(float x){ return x*x-7*x+10;}float GetResult(float a,float b){ float result = 0; do {
float c=a+0.618*(b-a);
float d=a+b-c;
if(fabs(GetEquation(c)) & fabs(GetEquation(d)))
} } while(fabs(GetEquation(result)) & 0.000001);}void main(){ float r1 = GetResult(0, 3.5); float r2 = GetResult(3.5, 6); printf(&f(a)=a*a-7*a+10\n&); printf(&a=%.2f or a=%.2f\n&,r1, r2);}
提问者评价
谢谢你了。。呵呵,其实我没学过C语言。。只是在今年考网络技术时接触了些。。
其他类似问题
迭代的相关知识
其他1条回答
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 c语言入门 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信