关于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语言中的开方实现相关推荐

  1. C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入

    例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...

  2. C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

    例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...

  3. echo命令详细解析(linux中超级详细,图文展示)

    echo命令详细解析(linux中超级详细,图文展示) echo作为最基本,最常用的命令,在初学linux,或运维操作中,有着广泛性的使用:特别是在写shell脚本的时候,更是会经常性的用到. 虽然e ...

  4. C语言编程>第二十五周 ① 给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个“*”号。

    例题:给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个"*"号. 例如,形参s所指的字符串为:albc45sdtg56f,则执行结果为:a*1b*c ...

  5. C语言编程>第十八周 ⑧ 给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。

    例题:给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列. 注意:请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句. 代码如 ...

  6. 有没有c 或c语言的短期培训学校,根河学c语言编程,根河学c语言编程的学校,根河学c语言编程报个培训班怎么样...

    根河学c语言编程,根河学c语言编程的学校,根河学c语言编程报个培训班怎么样 首页 > 软件 > 根河学c语言编程 作者:镀金池   发布时间:2017-11-30 11:02 另外,尽早调 ...

  7. 8051单片机c语言编程模板,完美的8051单片机C语言编程模板.doc

    完美的8051单片机C语言编程模板.doc <8051单片机C语言编程模板> [程序开始处的程序说明] /***************************************** ...

  8. C语言编程>第二十五周 ② 下列程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母,若为小写字母为v~z,使小写字母的值减21,转换后的小写字母作为函数值返回。

    例题:下列程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母,若为小写字母为v-z,使小写字母的值减21,转换后的小写字母作为函数值返回. 例如,若形参是字母A,则转换为小写字母 ...

  9. flutter DateTime 日期时间详细解析 Dart语言基础

    也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好. 学习Dart语言,首先我们需要使用到一个语言调试工具 DartPad 在 Dart 中,DateTime 对象代表某个时刻,时区可以是 ...

  10. c语言如何找一个数的ac码,详细解析C语言中的开方实现

    关于C语言中的开方计算,首先想到的当然是sqrt()函数,让我们先来回顾一下它的基本用法: 头文件:#include sqrt() 用来求给定值的平方根,其原型为: double sqrt(doubl ...

最新文章

  1. 网页制作使用CSS样式制作轮播教程,静态网页设计与开发 1.案例——CSS3制作图片轮播图 (4)使用纯CSS3代码实现简单的图片轮播——分步骤实现.docx...
  2. 怎么让div显示一行,其余的隐藏。
  3. Linux基础命令---文本显示more
  4. Atlas study:使用Accordion实现页面多个块状区域的显隐
  5. php数据处理工具,数据处理的PHP类
  6. 了解如何解决OSGI捆绑包
  7. 小度智能音响拆解 芯片_打磨小度智能音箱:深度拆解,发掘升级潜能
  8. 基数排序 java_JAVA排序算法之基数排序
  9. Java企业面试算法新得体会之6大数据和空间限制问题6问
  10. mysql operator_mysql-operator容器化部署mysql8
  11. All In One For Firefox 3
  12. codeblocks下载安装教程
  13. 华为android 驱动安装失败,华为手机驱动出现安装失败的问题怎样解决?
  14. 邮箱前台html,WEB独特的邮箱
  15. 技术文档写作风格指南
  16. 王者荣耀s10服务器维护,王者荣耀s9维护到几点?王者荣耀s10赛季上线时间分享...
  17. win10高危服务_您可以安全地禁用哪些Win10服务?
  18. Java、JavaScript、C语言数组的创建
  19. java实现12小时制和24小时制的时间
  20. Nuxt.js理解 开启SSR渲染(介绍)---00

热门文章

  1. 编译原理中Follow集的求法
  2. 2016年年度总结 金鸡纳福 岁月奔跑
  3. matlab中argmax_argmin(matlab中argmin函数)
  4. uva 12307 - Smallest Enclosing Rectangle(旋转卡壳)
  5. 51单片机数字电压表仿真设计_LCD显示
  6. 视频播放插件AVPro1-插件介绍
  7. excel交集和并集的意思_几个excel如何求并集
  8. ResNet网络 残差块的作用
  9. 银河帝国----基地与帝国
  10. 转载一篇c语言深度文章 《一个“蝇量级” C 语言协程库》