zoukankan      html  css  js  c++  java
  • C语言写解一元二次方程程序心得

    前言:在网上看到不少解一元二次方程的小程序,在使用时总得出一大堆小数,感觉很不爽,遂自己重新写了一遍。

    首先,先回忆一下一元二次方程的求根公式:

    1. 分别读取二次项、一次项和常数项系数并且求出delta

     

    1. 无解情况

    此时同时输出delta的值,小于0,无解。

     2.只有一个根的情况

    当delta等于0,只有一个实数根,没什么好讲。

     3.两个不相等实根的情况

    重点就是这个部分。

    1. 为了避免一大堆小数的问题,分开sqrt(delta)是整数和非整数来。(如果是整数,则直接运算,如果不是整数,则保留根号)

      (1)sqrt(delta)是整数时

    现在涉及一个问题就是如何判断整数

    此处为了避免互相干扰,用了两个变量,sqr用于判断是否为整数,如果是整数,则用sqr1计算

    如何判断是否为整数呢?这里可以利用int形和double形的性质。采用判断(int)sqr和 (int)(sqr + 0.9999999)的大小来判断sqr是不是整数。[double形一般精确到小数点后6 位,所以这里用了7个9]。然后强制转换成int型,如果为整数,(int)(sqr + 0.9999999)不会进位,x=y。不是整数,反之。

    然后如果为整数,先计算sqrt(delta)后代入计算。

    (2)sqrt(delta)不是整数时

    对,保留根号!

    后记:写这一段小程序最初是为繁多的坑爹的解方程数学题所恼,想快点完成作业~~于是在那个月黑风高的晚上写完作业后顺便把这篇文章写了。

  • 相关阅读:
    傻帽
    csc编译c#文件
    真空
    继承,多态及抽象性
    HASH算法
    正则表达式
    js向数组和map添加元素
    详解TypeScript项目中的tsconfig.json配置
    TS:元素隐式具有 “any“ 类型,因为类型为 “any“ 的表达式不能用于索引类型
    yarn基本命令
  • 原文地址:https://www.cnblogs.com/joyceX/p/4004899.html
Copyright © 2011-2022 走看看