| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 19483 人关注过本帖
标题:求方程ax2+bx+c=0的根, 用3个函数分别求当b2-4ac 大于0,小于0,等于0 时的 ...
只看楼主 加入收藏
BINGQING
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:98
专家分:75
注 册:2010-3-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求方程ax2+bx+c=0的根, 用3个函数分别求当b2-4ac 大于0,小于0,等于0 时的根,并输出结果。从主函数输入a,b,c的值
求方程ax2+bx+c=0的根, 用3个函数分别求当b2-4ac 大于0,小于0,等于0 时的根,并输出结果。从主函数输入a,b,c的值
搜索更多相关主题的帖子: 方程 函数 结果 输出 输入 
2010-05-25 19:34
吴冬
Rank: 2
来 自: 湖南岳阳
等 级:论坛游民
帖 子:33
专家分:55
注 册:2010-5-22
收藏
得分:5 
#include"stdio.h"
#include"math.h"
void main()
{int a,b,c,d;
 folat x1,x2,shibu xubu;
printf("please input a,b,c":);
scanf("%%%",&a,&b,&c);
d=b*b-4*a*c;
  if(d==0)
  printf("x1=x2=%f\n",-b/(2.0*a);
  else
    { if(d>0)
{ x1=(-b+sqrt(dt))/(2.0*a);
   x2=(-b-sqrt(dt))/(2.0*a);}
       else
     {shibu=-b/(2.0*a);
       xubu=sqrt(dt)/(2.0*a);
    printf("x1=%f+%fi\n",shibu ,xubu);
   printf("x2=%f-%fi\n",shibu,xubu);}
}
}   
2010-05-25 20:05
吴冬
Rank: 2
来 自: 湖南岳阳
等 级:论坛游民
帖 子:33
专家分:55
注 册:2010-5-22
收藏
得分:2 
这样一个函数就ok 啦
2010-05-25 20:06
吴冬
Rank: 2
来 自: 湖南岳阳
等 级:论坛游民
帖 子:33
专家分:55
注 册:2010-5-22
收藏
得分:2 
#include"stdio.h"
#include"math.h"
void main()
{int a,b,c,dt;
folat x1,x2,shibu xubu;
printf("please input a,b,c":);
scanf("%%%",&a,&b,&c);
d=b*b-4*a*c;
  if(dt==0)
  printf("x1=x2=%f\n",-b/(2.0*a);
  else
    { if(dt>0)
{ x1=(-b+sqrt(dt))/(2.0*a);
   x2=(-b-sqrt(dt))/(2.0*a);}
       else
     {shibu=-b/(2.0*a);
       xubu=sqrt(dt)/(2.0*a);
    printf("x1=%f+%fi\n",shibu ,xubu);
2010-05-25 20:07
BINGQING
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:98
专家分:75
注 册:2010-3-29
收藏
得分:0 
不符合我的要求
2010-05-25 21:49
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:11 
这位是小姐啊还是帅哥啊,要求还挺严格的嘛,自己写一个不就都解决了吗?
#include "stdio.h"
#include <math.h>
float dis,x1,x2,m,n;
void main()
{
    void x(float x,float y,float z);
    void y(float x,float y,float z);
    void z(float x,float y,float z);
    float a,b,c;
    scanf("%f,%f,%f",&a,&b,&c);
    dis=b*b-4*a*c;
    if(fabs(a)<=1e-6)
    printf("不是二次方程!\n");
    else
    {
    if(fabs(dis)<=1e-6)
        x(a,b,c);
     else if(dis>1e-6)
         y(a,b,c);
     else z(a,b,c);
    }
}

void x(float x,float y,float z)
    {
        printf("有两个相同的解:%8.4f",-y/(2*x));
    }
void y(float x,float y,float z)
{
    x1=(-y+sqrt(dis))/(2*x);
    x2=(y-sqrt(dis))/(2*x);
    printf("有两个不同的解:%8.4f和%8.4f",x1,x2);
}
void z(float x,float y,float z)
{
    m=-y/(2*x);
    n=sqrt(-dis)/(2*x);
    printf("解为:%8.4f,%8.4f",m,n);
}
大致就这样,还一点没完善,自己修改一下啊,我要睡觉了,呵呵呵

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-05-25 22:40
快速回复:求方程ax2+bx+c=0的根, 用3个函数分别求当b2-4ac 大于0,小于0,等于 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040864 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved