| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 483 人关注过本帖
标题:正在自学C语言 有题目求助
只看楼主 加入收藏
c幽灵
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-2-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
正在自学C语言 有题目求助
我是自学C语言的  参加今年3月份的考试  周围的同学都是学VFP  有问题只有到论坛
这个题目是输入a b c   然后计算ax*x+b*x+c=0的根  运行结果不对   求助!!!
#include<stdio.h>
#include <math.h>
float q,p,x1,x2,data;
int main()
{
void lshg(float,float);
void yshg(float,float);
void wshg(float,float);
float a,b,c;
printf("输入a,b,c的值:");
scanf("%d,%d,%d",&a,&b,&c);
data=b*b-4*a*c;
if (data>0)
{lshg(a,b);}
else if (data==0)
{yshg(a,b);}
else (data<0);
{wshg(a,b);}
return 0;
}

void lshg(float a,float b)
{
x1=(-b-sqrt(data))/(2*a);
x2=(-b+sqrt(data))/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}

void yshg(float a,float b)
{
x1=(-b)/2*a;
printf("x1=x2=%f",x1);
}

void wshg(float a,float b)
{
p=-b/(2*a);
q=sqrt(-data)/(2*a);
printf("x1=%f+%fi,x2=%f-%fi",p,q,p,q);
}
搜索更多相关主题的帖子: void 自学 include return C语言 
2012-02-22 20:52
巴克
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:199
注 册:2012-2-8
收藏
得分:10 
程序代码:
#include<stdio.h>
#include <math.h>
float q,p,x1,x2,data;
int main()
{
    void lshg(float,float);
    void yshg(float,float);
    void wshg(float,float);
    float a,b,c;
    printf("输入a,b,c的值:\n");
    scanf("%f,%f,%f",&a,&b,&c);                    //%d,%d,%d 改为%f %f %f
    data=b*b-4*a*c;
    if (data>0)
    {lshg(a,b);}
    else if (data==0)
    {yshg(a,b);}
    else                                //这里面不需要   (data == 0)(因为已经是else 了吗)
    {wshg(a,b);}
    return 0;
}

void lshg(float a,float b)
{
    x1=(-b-sqrt(data))/(2*a);
    x2=(-b+sqrt(data))/(2*a);
    printf("x1=%f,x2=%f\n",x1,x2);
}

void yshg(float a,float b)
{
    x1=(-b)/2*a;
    printf("x1=x2=%f\n",x1);
}

void wshg(float a,float b)
{
    p=-b/(2*a);
    q=sqrt(-data)/(2*a);
    printf("x1=%f+%fi,x2=%f-%fi\n",p,q,p,q);
}
//还有强烈建议楼主使用 double 类型因为函数  sqrt() 返回double类型的数值
2012-02-22 21:48
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:10 
程序代码:
#include <stdio.h>
#include <math.h>
void main()
{
    void TwoRoot(float x,float y,float z);
    void EqualRoot(float x,float y,float z);
    void ComplexRoot(float x,float y,float z);
    float a,b,c,D;
    printf("输入一元二次方程的3个系数a,b,c:");
    scanf("%f %f %f",&a,&b,&c);
    D=b*b-4*a*c;
    if(D>0) TwoRoot(a,b,c);
    else if(D<0) ComplexRoot(a,b,c);
    else EqualRoot(a,b,c);
}
void TwoRoot(float x,float y,float z)
{
    float x1,x2;
     x1=((-y)+sqrt(y*y-4*x*z))/(2.0*x);
     x2=((-y)-sqrt(y*y-4*x*z))/(2.0*x);
     printf("x1=%6.2f\nx2=%6.2f\n",x1,x2);
}
void EqualRoot(float x,float y,float z)
{
    float x1,x2;
    x1=x2=-y/(2.0*x);
    printf("x1=x2=%6.2f\n",x1);
}
void ComplexRoot(float x,float y,float z)
{
     float m,n,x1,x2;
      m=-y/(2*x);n=sqrt(4*x*z-y*y);
     printf("x1=%6.2f+%6.2fi\nx2=%6.2f-%6.2fi\n",m,n/2.0*x,m,n/2.0*x);
}
你和这个比较着看看

最基础的往往是你最容易忽略的!
2012-02-22 22:29
c幽灵
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-2-22
收藏
得分:0 
回复 楼主 c幽灵
非常感谢  有时是一些很基础  很细节的问题
2012-02-23 19:05
c幽灵
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-2-22
收藏
得分:0 
回复 3楼 于祥
谢谢!!!好心人啊 感觉到温暖了
2012-02-23 19:05
c幽灵
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-2-22
收藏
得分:0 
回复 2楼 巴克
太感谢了
2012-02-23 19:06
快速回复:正在自学C语言 有题目求助
数据加载中...
 
   



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

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