c语言中的二分法
\\\题外:对于printf引号中的内容一定要细心书写 ; 数组由a[0]开始计数,切记;尤其是与for循环中i=1 搞混
运用a[i+1]等超前数据时 需先用
for(i=0;i<=n-1;i++)
{scanf("%d",&a[i]);}
给数组全部赋值
题目:对于方程 8*x^4+7*x^3+2*x^2+3*x+6=Y 给定一个实数Y(|Y|<=1000000000),求方程的解 x=k,其中0<=k<=100,若方程无解,则输出“No solution!”(不含引号)若方程存在一个解 x=k 满足 0<=k<=100,则输出“x = k”(不含引号,k 为方程的解,精确 到小数点后 4 位) 否则,输出“No solution!”(不含引号)
程序:
#include<stdio.h>
#include<math.h>
int main()
{
double x,L,R,mid,k,m;
int y,i;
scanf("%d",&y);
m=0;
x=0;
k=0;
L=0; / /对题目分析可得,函数在0到100必是增函数
R=100;
for(;1;) ///相当于while(1) 即判断条件无限为真
{ mid=(L+R)/2;
if(8*mid*mid*mid*mid+7*mid*mid*mid+2*mid*mid+3*mid+6<y){
L=mid; ///如果有解 则y必大于f(0) 必小于f(100) 故如果y>f(mid)则 x位于mid 与100之间
}
else {
R=mid;
}
if((R-L)<0.0000000001)break; ///0.00000001位数越多,结果越精确
}
m=8*mid*mid*mid*mid+7*mid*mid*mid+2*mid*mid+3*mid+6;
k=fabs(y-m); //两者误差
if(k>0.01){ //就算两x不等于 其y值误差最多0.00001
printf("No solution!");
}
else{
printf("x = %.4lf",mid);
}
return 0;
c语言中的二分法的更多相关文章
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Java语言中的面向对象特性总结
Java语言中的面向对象特性 (总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知 ...
- python语言中的编码问题
在编程的过程当中,常常会遇到莫名其妙的乱码问题.很多人选择出了问题直接在网上找答案,把别人的例子照搬过来,这是快速解决问题的一个好办法.然而,作为一个严谨求实的开发者,如果不从源头上彻底理解乱码产生的 ...
- 在C语言中利用PCRE实现正则表达式
1. PCRE简介 2. 正则表达式定义 3. PCRE正则表达式的定义 4. PCRE的函数简介 5. 使用PCRE在C语言中实现正则表达式的解析 6. PCRE函数在C语言中的使用小例子 1. P ...
- C语言中函数声明实现的位置
在学习C语言的时候我遇到了这么个事情,因为之前先学习的C#,在C#编译器中,函数的声明位置不会影响编译的结果,但是在C语言中却发生了错误 先看一段代码: #include <stdio.h> ...
- C语言中的栈和堆
原文出处<http://blog.csdn.net/xiayufeng520/article/details/45956305#t0> 栈内存由编译器分配和释放,堆内存由程序分配和释放. ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- C语言中结构体赋值问题的讨论
今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...
- Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...
随机推荐
- kuangbin_ShortPath E (POJ 1860)
第一次做判环 然后RE了五次 死在了奇怪的点 memset(vis, 0, sizeof dis); memset(dis, 0, sizeof vis); 什么鬼?? 什么鬼?? 其实代码本身还是不 ...
- C++@重载函数
关于重载详细分析参考: http://www.cnblogs.com/skynet/archive/2010/09/05/1818636.html 内部机制涉及重载函数如何解决命名冲突,调用匹配的问题 ...
- js获取客户端操作系统
function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == " ...
- Navicat导入数据时发生了报错 --- 1153 - Got a packet bigger than 'max_allowed的处理办法
今天我在使用Navicat导入.sql文件数据时,发现本来是80万条的数据,结果只导入了10万条左右,而且在其错误信息日志中,我发现了这样一条错误:1153 - Got a packet bigger ...
- c#, 输出二进制
int x=-17; string str= Convert.ToString(x,2);Debug.Log(str); 输出结果: 11111111111111111111111111101111 ...
- php curl详细说明
CURLOPT_RETURNTRANSFER 选项: curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 如果成功只将结果返回,不自动输出任何内容. 如果失败返回F ...
- 【转】svn服务器IP修改后,本地怎么跟新svn同步,svn relocate 操作
本文来源:http://www.kukaka.org/home/showonews/444 1.进入工作复本 cd ~/test 2.查看仓库地址(URL) svn info 路径: . URL ...
- php 开启COM组件
1.先到PHP.INI中打开COM选项,com.allow_dcom = true 2.我这里的环境是PHP5.4.7,PHP 5.4.5后,com/dotnet 模块已经成了单独的扩展,所以需要在P ...
- 使用prototype 对象定义类成员
使用prototype 对象定义类成员上一节介绍了类的实现机制以及构造函数的实现,现在介绍另一种为类添加成员的机制:prototype 对象.当new 一个function 时,该对象的成员将自动赋给 ...
- android dimens 读取 px&dp问题
1.dimens.xml文件: <resources> <dimen name="area_margin_top">100dp</dimen& ...