c语言问题,本人新手,编了一个解方程的小程序,不知哪里出错,望指教。

#include<stdio.h>#include<math.h>intmain(void){doublea;doubleb;doublec;doubledelta;do... # include <stdio.h>
# include <math.h>

int main(void)
{
double a;
double b;
double c;
double delta;
double x1;
double x2;
delta = b*b - 4ac;

printf("请依次输入a,b,c的值(中间用空格间隔):");
scanf("%lf %lf %lf",&a,&b,&c);

if (delta > 0)
{
x1 = (-b + sqrt(delta))/2*a;
x2 = (-b - sqrt(delta))/2*a;
printf("有两个解:x1 = %lf,x2 = %lf",x1,x2);
}
else if (delta == 0)
{
x2 = x1 = (-b + sqrt(delta))/2*a;
printf("有一个解:x1 = x2 =%lf",x1);
}
else if (delta < 0)
{
printf("无解");
}

return 0;

}
展开
 我来答
尤因爱美cO85d
2012-02-26 · 超过22用户采纳过TA的回答
知道答主
回答量:176
采纳率:0%
帮助的人:60.3万
展开全部
# include <stdio.h>
# include <math.h>

void main()
{
double a;
double b;
double c;
double delta;
double x1;
double x2;
delta=b*b-4*a*c;

printf("请依次输入a,b,c的值(中间用空格间隔):");
scanf("%lf %lf %lf",&a,&b,&c);

if (delta>0)
{
x1=(-b+sqrt(delta))/2*a;
x2=(-b-sqrt(delta))/2*a;
printf("有两个解:x1=%lf,x2=%lf",x1,x2);
}
else if (delta==0)
{
x2=x1=(-b+sqrt(delta))/2*a;
printf("有一个解:x1=x2=%lf",x1);
}
else if (delta<0)
{
printf("无解");
}

}

首先 你的输入状态好像有些不是英文状态 我已帮你改过
还有就是4ac 不能这样写
c语言环境没那么聪明
追问
谢谢了。但是请你试一试呢,为什么我的程序没有报错,但是输进去的无论是那个值,都显示无解。
盛德详
2012-02-26 · TA获得超过934个赞
知道答主
回答量:115
采纳率:0%
帮助的人:61.1万
展开全部
你没定义那些变量就使用了,肯定会报错,再一个,就是 delta = b*b - 4ac;中的4ac应该改为4*a*c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
布不步
2012-02-25
知道答主
回答量:22
采纳率:0%
帮助的人:6.2万
展开全部
如果你是拷贝的,那么第一个算是4ac不对吧~是不是着急了没打“*”~
scanf("%lf %lf %lf",&a,&b,&c); 这个用%f就可以了吧~
追问
还是有问题啊
追答
我所学的开头这样写的# include 
# include

void int……
我还想确定下,你的数据是整型还是实型,感觉是int和double冲突了~我也是菜鸟一枚,希望能帮到你~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陌路樱花泪
2012-02-26
知道答主
回答量:27
采纳率:0%
帮助的人:7.1万
展开全部
4abc 没有定义,如果是4*a*b*c 话,要把乘号(*)加进去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式