| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 894 人关注过本帖
标题:[求助]看看这个求一元二次方程的根的程序哪里有问题,我用TC2.0
只看楼主 加入收藏
lazzyhippo
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-9-1
收藏
 问题点数:0 回复次数:2 
[求助]看看这个求一元二次方程的根的程序哪里有问题,我用TC2.0
可恶的是,每次不管输入啥数它都输出single root is:-0.0000000
#include <stdio.h>
#include <math.h>
main()
{
float a,b,c;
printf("Enter a,b,c:");
scanf("%f%f%f",&a,&b,&c);
func(a,b,c);
}

func(float a,float b,float c)
{
float d,temp1,temp2;
if (a==0)
{
if (b==0)
{
printf("Error!\n");
}
else
{
printf("Single root is %f.\n",-c/b);
}
}
else
{
d=b*b-4*a*c;
temp1=-b/(2*a);
temp2=sqrt(fabs((double)d))/(2*a);
if (d>=0)
{
printf("The roots are:%f and %f\n",temp1+temp2,temp1-temp2);
}
else
{
printf("The roots are:%f+%fi and %f-%fi\n",temp1,temp2,temp1,temp2);
}
}
}

[此贴子已经被作者于2007-9-3 19:20:17编辑过]

搜索更多相关主题的帖子: float 一元二次方程 printf 
2007-09-03 18:38
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 

这个是对的了:
#include <stdio.h>
#include <math.h>
void func(float a,float b,float c);
int main()
{
float a,b,c;
printf("Enter a,b,c:");
scanf("%f%f%f",&a,&b,&c);
func(a,b,c);
return 0;
}

void func(float a,float b,float c)
{
double d,temp1,temp2;
if (a==0)
{
if (b==0)
{
printf("Error!\n");
}
else
{
printf("Single root is %f.\n",-c/b);
}
}
else
{
d=b*b-4*a*c;
temp1=-b/(2*a);
temp2=sqrt(fabs((double)d))/(2*a);
if (d>=0) 
{
printf("The roots are:%f and %f\n",temp1+temp2,temp1-temp2);
}
else
{
printf("The roots are:%f+%fi and %f-%fi\n",temp1,temp2,temp1,temp2);
}
}
}


~~我的明天我知道~~
2007-09-03 18:43
conanwangcsu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-9-3
收藏
得分:0 
回复:(lazzyhippo)[求助]看看这个求一元二次方程的...
这个程序好像很乱啊
2007-09-03 19:56
快速回复:[求助]看看这个求一元二次方程的根的程序哪里有问题,我用TC2.0
数据加载中...
 
   



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

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