c语言编程实现开平方运算,详细解析C语言中的开方实现
关于C语言中的开方计算,首先想到的当然是sqrt()函数,让我们先来回顾一下它的基本用法:
头文件:#include
sqrt() 用来求给定值的平方根,其原型为:
double sqrt(double x);
参数
x 为要计算平方根的值。
如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。
返回值
返回 x 平方根。
注意,使用 GCC 编译时请加入-lm。
实例计算200 的平方根值。
#include
main(){
double root;
root = sqrt(200);
printf("answer is %f\n", root);
}
输出结果:
answer is 14.142136
题目求整数N的开方,精度在0.001
二分法若N大于1,则从[1, N]开始,low = 1, high = N, mid = low + (high - low) >> 1开始进行数值逼近
若N小于1,则从[N, 1]开始,low = 0, high = N, mid = low + (high - low) >> 1开始进行数值逼近
ac代码
/**
* 创新工厂2014年校招算法题目,求整数N的开方,精度为0.001
*/
#include
#include
#include
#define ACCURACY 0.001
double newSqrt(double n)
{
double low, high, mid, tmp;
// 获取上下界
if (n > 1) {
low = 1;
high = n;
} else {
low = n;
high = 1;
}
// 二分法求开方
while (low <= high) {
mid = (low + high) / 2.000;
tmp = mid * mid;
if (tmp - n <= ACCURACY && tmp -n >= ACCURACY * -1) {
return mid;
} else if (tmp > n) {
high = mid;
} else {
low = mid;
}
}
return -1.000;
}
int main(void)
{
double n, res;
while (scanf("%lf", &n) != EOF) {
res = newSqrt(n);
printf("%lf\n", res);
}
return 0;
}
c语言编程实现开平方运算,详细解析C语言中的开方实现相关推荐
- C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入
例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...
- C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。
例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...
- echo命令详细解析(linux中超级详细,图文展示)
echo命令详细解析(linux中超级详细,图文展示) echo作为最基本,最常用的命令,在初学linux,或运维操作中,有着广泛性的使用:特别是在写shell脚本的时候,更是会经常性的用到. 虽然e ...
- C语言编程>第二十五周 ① 给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个“*”号。
例题:给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个"*"号. 例如,形参s所指的字符串为:albc45sdtg56f,则执行结果为:a*1b*c ...
- C语言编程>第十八周 ⑧ 给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。
例题:给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列. 注意:请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句. 代码如 ...
- 有没有c 或c语言的短期培训学校,根河学c语言编程,根河学c语言编程的学校,根河学c语言编程报个培训班怎么样...
根河学c语言编程,根河学c语言编程的学校,根河学c语言编程报个培训班怎么样 首页 > 软件 > 根河学c语言编程 作者:镀金池 发布时间:2017-11-30 11:02 另外,尽早调 ...
- 8051单片机c语言编程模板,完美的8051单片机C语言编程模板.doc
完美的8051单片机C语言编程模板.doc <8051单片机C语言编程模板> [程序开始处的程序说明] /***************************************** ...
- C语言编程>第二十五周 ② 下列程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母,若为小写字母为v~z,使小写字母的值减21,转换后的小写字母作为函数值返回。
例题:下列程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母,若为小写字母为v-z,使小写字母的值减21,转换后的小写字母作为函数值返回. 例如,若形参是字母A,则转换为小写字母 ...
- flutter DateTime 日期时间详细解析 Dart语言基础
也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好. 学习Dart语言,首先我们需要使用到一个语言调试工具 DartPad 在 Dart 中,DateTime 对象代表某个时刻,时区可以是 ...
- c语言如何找一个数的ac码,详细解析C语言中的开方实现
关于C语言中的开方计算,首先想到的当然是sqrt()函数,让我们先来回顾一下它的基本用法: 头文件:#include sqrt() 用来求给定值的平方根,其原型为: double sqrt(doubl ...
最新文章
- 网页制作使用CSS样式制作轮播教程,静态网页设计与开发 1.案例——CSS3制作图片轮播图 (4)使用纯CSS3代码实现简单的图片轮播——分步骤实现.docx...
- 怎么让div显示一行,其余的隐藏。
- Linux基础命令---文本显示more
- Atlas study:使用Accordion实现页面多个块状区域的显隐
- php数据处理工具,数据处理的PHP类
- 了解如何解决OSGI捆绑包
- 小度智能音响拆解 芯片_打磨小度智能音箱:深度拆解,发掘升级潜能
- 基数排序 java_JAVA排序算法之基数排序
- Java企业面试算法新得体会之6大数据和空间限制问题6问
- mysql operator_mysql-operator容器化部署mysql8
- All In One For Firefox 3
- codeblocks下载安装教程
- 华为android 驱动安装失败,华为手机驱动出现安装失败的问题怎样解决?
- 邮箱前台html,WEB独特的邮箱
- 技术文档写作风格指南
- 王者荣耀s10服务器维护,王者荣耀s9维护到几点?王者荣耀s10赛季上线时间分享...
- win10高危服务_您可以安全地禁用哪些Win10服务?
- Java、JavaScript、C语言数组的创建
- java实现12小时制和24小时制的时间
- Nuxt.js理解 开启SSR渲染(介绍)---00