今天按老师要求抄写一段简单的一元二次方程解题程序

作者在 2011-07-28 16:34:28 发布以下内容
# include <stdio.h>
# include <math.h>

int main(void)
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
int b = 5;
int c = 6;
float delta; //delta存放的是b*b - 4*a*c
float x1;  //存放一元二次方程的其中一个解
float x2;  //存放一元二次方程的其中另一个解

delta = b*b - 4*a*c;

if (delta > 0)  //条件判断解的个数
{
    x1 = (-b + sqrt(delta)) / (2*a);  //两个解
    x2 = (-b - sqrt(delta)) / (2*a);  //sqrt工具包含在<math.h>文件里
    printf("该一元二次方程有两个解 x1 = %f ,x2 = %f\n",x1,x2);
}
else if (delta == 0)
{
    x1 = -b / (2*a); //唯一解
    x2 = x1; //右边赋值给左边
    printf("该一元二次方程有一个唯一解 x = %f\n",x1);
}
else
{
    printf("该一元二次方程无解\n");
}

return(0);
}
郝斌视频笔记 | 阅读 1611 次
文章评论,共5条
chenkb730
2011-08-06 17:23
1
刚入门的确是靠抄过来的 但是 要反思这个题目有什么改善的地方 例如 a=0 b=0 或者是c=0的一些特殊情况 交互的时候数据类型的问题等等...
edwardflee(作者)
2011-08-08 09:08
2
<div class="quote"><span class="q"><b>chenkb730</b>: 刚入门的确是靠抄过来的 但是 要反思这个题目有什么改善的地方 例如 a=0 b=0 或者是c=0的一些特殊情况 交互的时候数据类型的问题等等...</span></div>呃...还真没考虑过呢,谢谢指教,我会努力学习的<img src="image/face/2.gif" class="face">
空军一号1号
2011-08-10 22:03
3
我觉得你的这个程序有一点,我曾经没有注意过而错过了的,你如果用int/int就会有错误。你用的是float/int就没用那个运算的问题了。嘿嘿
edwardflee(作者)
2011-08-11 08:43
4
<div class="quote"><span class="q"><b>空军一号1号</b>: 我觉得你的这个程序有一点,我曾经没有注意过而错过了的,你如果用int/int就会有错误。你用的是float/int就没用那个运算的问题了。嘿嘿</span></div>郝斌老师的视频里也是先写的int然后改成了float,当时没什么感觉,甚至没注意到呢<img src="image/face/3.gif" class="face">
xudaleihao
2011-08-12 08:51
5
int是取整了,结果当然不一样了。。。
游客请输入验证码
最新评论