| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 611 人关注过本帖
标题:求一元二次方程的根
只看楼主 加入收藏
chichu
Rank: 2
来 自:安徽阜阳
等 级:论坛游民
帖 子:71
专家分:89
注 册:2010-4-14
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
求一元二次方程的根
有了点状况,不是报错就是出现-1.#J,没查到错,特来请教
程序代码:
#include<stdio.h>
#include<math.h>
#include<string.h>
int solution(float a,float b,float c,float s[])  
{
    float d,x1,x2,sq;
    d = b*b - 4*a*c;
    sq = (float)sqrt(d);
    if(d >= 0)
    {
        if(d == 0)
            x1 = x2 = -b/(2*a);
        else
        {
            x1 = (-b+sq) / (2*a);
            x2 = (-b+sq) / (2*a);
        }
                s[0] = x1;
                s[1] = x2;
                return 1;
    }
    else
        return 0;
}
   
void main()
{
    float a,b,c;
    int i;
    float s[2];
    printf("请输入a,b,c:\n");
    scanf("%f,%f,%f",&a,&b,&c);
    if(solution(a,b,c,s))
        for(i = 0;i < 2;i++)
            printf("这个方程的解%d为:%.2f\n",i,s[i]);
    else
        printf("ERROR!!!\n");
}

        

            
搜索更多相关主题的帖子: 一元二次方程 
2010-05-18 18:52
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:10 
#include <stdio.h>
#include <math.h>
#include <string.h>
int solution(float a,float b,float c,float s[])
{
    float d,sq;
    d=b*b-4*a*c;
    sq=sqrt(d);
    if(d>=0)
    {
        if(d == 0)
            s[0]=s[1]=-b/(2*a);
        else
        {
            s[0]=(-b+sq)/(2*a);
            s[1]=(-b-sq)/(2*a);
        }
        return 1;
    }
    else
        return 0;
}
int main()
{
    float a,b,c;
    int   i;
    float s[2];
    printf("请输入a,b,c:\n");
    scanf("%f%f%f",&a,&b,&c);
    if(solution(a,b,c,s))
        for(i=0; i<2; i++)
            printf("这个方程的解%d为:%.2f\n",i+1,s[i]);
    else
        printf("ERROR!!!\n");
    return 0;
}

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-05-18 19:13
chichu
Rank: 2
来 自:安徽阜阳
等 级:论坛游民
帖 子:71
专家分:89
注 册:2010-4-14
收藏
得分:0 
现在我有一种蓦然回首那人却在灯火阑珊处的感觉,问题解决了
程序代码:
#include<stdio.h>
#include<math.h>
#include<string.h>
int solution(float a,float b,float c,float s[])   //solution(求解)
{
    float d,x1,x2,sq;
    d = b*b - 4*a*c;
    sq = (float)sqrt(d);
    if(d >= 0)
    {
        if(d == 0)
            x1 = x2 = -b/(2*a);
        else
        {
            x1 = (-b+sq) / (2*a);
            x2 = (-b-sq) / (2*a);
        }
                s[0] = x1;
                s[1] = x2;
                return 1;
    }
    else
        return 0;
}
   
void main()
{
    float a,b,c;
    int i;
    float s[2];
    printf("请输入a,b,c:\n");
    scanf("%f%f%f",&a,&b,&c);
    if(solution(a,b,c,s))
        for(i = 1;i < 3;i++)
            printf("这个方程的解%d为:%.2f\n",i,s[i - 1]);
    else
        printf("ERROR!!!\n");
}

        

            


有了目标才有动力!!!
2010-05-18 19:16
chichu
Rank: 2
来 自:安徽阜阳
等 级:论坛游民
帖 子:71
专家分:89
注 册:2010-4-14
收藏
得分:0 
比我快,呵呵

有了目标才有动力!!!
2010-05-18 19:17
快速回复:求一元二次方程的根
数据加载中...
 
   



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

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