| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3087 人关注过本帖
标题:c解一元二次方程问题求助!!
只看楼主 加入收藏
leonsariel
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-11-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
c解一元二次方程问题求助!!
小弟是新手,请各位高手帮忙看看问什么算不出来···
#include <stdio.h>
#include <math.h>
void main()
{
    float a,b,c,x1,x2;
    scanf("%f,%f,%f",&a,&b,&c);
    x1=(-b+sqrt(b*b-4*a*c))/(2*a);
    x2=(-b-sqrt(b*b-4*a*c))/(2*a);
    printf("x1=%7.2f  x2=%7.2f\n",x1,x2);
}
搜索更多相关主题的帖子: include 
2011-03-25 08:57
jaylkh
Rank: 1
来 自:福建
等 级:新手上路
帖 子:8
专家分:4
注 册:2010-5-12
收藏
得分:3 
#include <stdio.h>
#include <math.h>
void main()
{
    float a,b,c,x1,x2;
    scanf("%f,%f,%f",&a,&b,&c);
    x1=(-b+(float)sqrt(b*b-4*a*c))/(2*a);
    x2=(-b-(float)sqrt(b*b-4*a*c))/(2*a);
    printf("x1=%7.2f  x2=%7.2f\n",x1,x2);
}
编译时有警告,再sqrt函数前加一个强制类型转换,将函数返回值由原来的double型转换为float型就可以了!
2011-03-25 09:12
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:3 
程序代码:
#include <stdio.h>
#include <math.h>

int main(void) {

    int a,b,c,temp;
    double x1,x2;
    scanf ("%i,%i,%i",&a,&b,&c);
    temp=b*b-4*a*c;
//如果表达式b*b-4*a*c的值是负数,则x1和x2都是复数。
    if(temp<0) {
            printf ("Square Root is a Plural!\n");
            return 0;
    }

    x1=(-b+sqrt(temp))/(2*a);
    x2=(-b-sqrt(temp))/(2*a);

    printf("x1=%lf  x2=%lf\n",x1,x2);

    return 0;

}

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-25 09:37
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
平方根是不能为负数的, 所以, 要注意这一点。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-25 09:40
limingzhen90
Rank: 2
等 级:论坛游民
帖 子:53
专家分:72
注 册:2010-12-31
收藏
得分:3 
#include <stdio.h>
#include <math.h>

int main(void) {

    int a,b,c,temp;
    double x1,x2;
    scanf ("%i,%i,%i",&a,&b,&c);
    temp=b*b-4*a*c;
    if(temp<0) {
            printf ("Square Root is a Plural!\n");
            return 0;
    }
    else
    {
     x1=(-b+sqrt(temp))/(2*a);
     x2=(-b-sqrt(temp))/(2*a);
    }

    printf("x1=%lf  x2=%lf\n",x1,x2);

    return 0;

}

入门了吗?
2011-03-25 10:07
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:3 
怎么又看不到回复了

一个人能有多坚强,太安静,就成了孤单。
2011-03-25 10:08
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:0 


了……楼主的问题有人回答了

一个人能有多坚强,太安静,就成了孤单。
2011-03-25 10:09
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:3 
以下是引用ansic在2011-3-25 09:37:22的发言:

 
#include  
#include  
 
int main(void) {
 
    int a,b,c,temp;
    double x1,x2;
    scanf ("%i,%i,%i",&a,&b,&c);
    temp=b*b-4*a*c;
//如果表达式b*b-4*a*c的值是负数,则x1和x2都是复数。
    if(temp<0) {
            printf ("Square Root is a Plural!\n");
            return 0;
    }
 
    x1=(-b+sqrt(temp))/(2*a);
    x2=(-b-sqrt(temp))/(2*a);
 
    printf("x1=%lf  x2=%lf\n",x1,x2);
 
    return 0;
 
}

呵呵,指个小错误。
数学里的专有名词“复数”的英文是  complex number,直译是复杂的数。
不是 plural。这个是名词单数,复数的那个意思。语法范畴,表示 book 和 books 的区别。
2011-03-25 14:44
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:3 

强列注意 分母不能为0  注意浮点数的0.5转化整形就变成0了

                                         
===========深入<----------------->浅出============
2011-03-25 14:59
段璐恒
Rank: 2
等 级:论坛游民
帖 子:29
专家分:22
注 册:2011-3-20
收藏
得分:3 
#include "stdio.h"
#include<math.h>
void main()
{
    double a,b,c,disc,x1,x2,p,q;
    scanf("%lf,%lf,%lf",&a,&b,&c);
    disc=b*b-4*a*c;
    if(disc<0)
    printf("没有实根\n");
    else
    {
        p=-b/(2.0*a);
        q=sqrt(disc)/(2.0*a);
        x1=p+q;x2=p-q;
        printf("实根:\nx1=%f\nx2=%f\n",x1,x2);
    }
        
}
这是小弟在学习过程中编制的,还请各位高手指点。楼主看看这个好使不?

勤奋刻苦
2011-03-25 18:06
快速回复:c解一元二次方程问题求助!!
数据加载中...
 
   



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

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