| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 860 人关注过本帖
标题:方程根的问题(纠错)!
收藏  订阅  推荐  打印 
wulang327
Rank: 2
来自:大连
等级:注册会员
帖子:57
积分:692
注册:2008-1-29
方程根的问题(纠错)!

#include <stdio.h>
float a,b,c,disc,x1,x2,p,q;
g(){
       p=-b/(2*a);
       q=sqrt(disc)/(2*a);
       x1=p+q;
       x2=p-q;
       printf("%f,%f\n",x1,x2);
    }
f(){  printf("%f,%f\n",x1,x2);
    }
e(){  q=sqrt(fabs(disc))/(2*a);
       printf("%f-%fi,%f+%fi\n",p,q,p,q);
    }
main(){
        disc=b*b-4*a*c;
        scanf("%f %f %f",a,b,c);
        if(disc>0) g();
        else if(disc==0) f();
           else e();
       }
运行之后,无论a,b,c的值如何变化
输出结果始终为:0.000000,0.000000
                NULL pointer assignment

本人无法找出错误之处,希望大家帮下忙!
搜索更多相关主题的帖子: disc  方程  纠错  printf  
2008-4-7 17:38
yd4433
Rank: 3Rank: 3
等级:中级会员
帖子:404
积分:4440
注册:2008-3-9

#include<stdio.h>
#include<math.h>
float max(int a,int b,int c)
{    if((b*b-4*a*c)>0 )
       return (-b+sqrt(b*b-4*a*c))/(a*2);
}


float max1(int a,int b,int c)
{    if((b*b-4*a*c)>0)
        return (-b-(sqrt(b*b-4*a*c)))/(a*2);
}



void main()
{   int a,b,c;
    printf("ax*x+bx+c=0");
    printf("请输入a,b,c的值");
    scanf("%d%d%d",&a,&b,&c);   
    printf("ax*x+bx+c=0的跟是:\n%.2f\n%.2f\n",max(a,b,c),max1(a,b,c));

}

------...-.-..-...-----........-------.......----.....------....||- - !
2008-4-7 17:42
zjl138
Rank: 4
等级:高级会员
威望:1
帖子:773
积分:9162
注册:2007-11-12

回LZ:
好神奇的写法,你写的函数全部都没有类型。。

i like linux...
2008-4-7 17:43
yd4433
Rank: 3Rank: 3
等级:中级会员
帖子:404
积分:4440
注册:2008-3-9

#include<stdio.h>
#include<math.h>
double max(int a,int b,int c)
{  double d,e,s;
  d=b*b-4*a*c;s=sqrt(d);
  e=(-b+s)/(2*a);
  
  return e;
}
double max1(int a,int b,int c)
{  double d,f,s;
  d=b*b-4*a*c;
  s=sqrt(d);
  f=(-b-s)/(2*a);
  return f;
}
double cry(int a,int b,int c)
{double g;
int h;
g=b*b-4*a*c;
if(g<0)
h=1;
return h;
}
void main()
{  float x1,x2,x3;int a,b,c;
printf("ax*x+bx+c=0");
printf("请输入a,b,c的值");
    scanf("%d%d%d",&a,&b,&c);
    x1=max(a,b,c);
    x2=max1(a,b,c);
    x3=cry(a,b,c);
if(x3>0)
{
printf("输入错误方程没有跟");

}
else
printf("ax*x+bx+c=0的根是%.2f\t%.2f",x1,x2);

}

------...-.-..-...-----........-------.......----.....------....||- - !
2008-4-7 17:44
yd4433
Rank: 3Rank: 3
等级:中级会员
帖子:404
积分:4440
注册:2008-3-9

hui  3# 没参数 没返回制 的用法 直接引用 但是这样的写法 感觉还是在调用图形什么的 用好点

------...-.-..-...-----........-------.......----.....------....||- - !
2008-4-7 17:46
wulang327
Rank: 2
来自:大连
等级:注册会员
帖子:57
积分:692
注册:2008-1-29

你们不能帮我找一下错在哪儿吗?
2008-4-7 18:19
wulang327
Rank: 2
来自:大连
等级:注册会员
帖子:57
积分:692
注册:2008-1-29

我才刚学C呢
2008-4-7 18:19
wulang327
Rank: 2
来自:大连
等级:注册会员
帖子:57
积分:692
注册:2008-1-29

为什么不能这样写呢,这样写代码又少,有美观
2008-4-7 18:20
wulang327
Rank: 2
来自:大连
等级:注册会员
帖子:57
积分:692
注册:2008-1-29
NULL pointer assignment

这个什么意思?
2008-4-7 18:21
cosdos
Rank: 6Rank: 6
来自:ShangHai
等级:金牌会员
威望:1
帖子:1377
积分:14374
注册:2007-6-19

晕,美观个屁!

int main(void)   // 这样比较美观
{
    return 0;
}

—>〉Sun〈<—
2008-4-7 19:01
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.054850 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved