lizhi12110 发表于 2013-10-29 00:03:14

新手求助

本帖最后由 lizhi12110 于 2013-10-29 22:25 编辑

#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("\nx1=%8.2f\nx2=%8.2f\n",x1,x2);
}

执行之后输出结果是乱码。 用的VC++6.0

my_angel 发表于 2013-10-29 12:33:29

本帖最后由 my_angel 于 2013-10-29 12:40 编辑

说句心里话,每次看到这种这么简单的问题而且还是将代码直接丢上去让别人找错的提问都让我觉得异常恼火,这种学习态度是异常恶劣的。。

明明可以通过自己慢慢调试解决的问题却自己懒得动手。。。要知道编程学习中有一大半是来源于调试的过程中,不懂调试的人永远是无法达到大牛的境界的。。

初学者,更不应该随便提问,第一时间应该想到的是翻书。。
因为初学者连哪些基本的书的知识都没有掌握(甚至是最基本的语法)。。。

如果书本真的没有解决办法,在通过基本万能的“度娘和谷哥”。。。

最后,真的没办法才在论坛上提问,而且提问不要直接发代码,常常的一段是没有人有耐心去帮你Debug的。。。

因此,你自己要动手调试过,知道问题的原因,如果还找不到的话起码也得知道问题的产生位置,你要说明遇到的问题情况。。。这样任何大牛们看到你的帖子都会感受到你的学习积极性。。。都会很乐于帮你解决问题。。。


CL0419 发表于 2013-10-29 12:59:01

首先,我只想回答你,如果是出现这样的答案,说明是类型不匹配导致的错误。再者看到你这代码的时候,我真的崩溃了,编程是一个讲究思维的东西,你好好看你的代码,一个负数的开平方你学过吗?考虑过当你输入 1, 2, 3的时候,你那个 disc = b*b - 4*a*c 的结果吗?再有一个q = sqrt(disc) / (2*a),我想问你是先把disc求根号还是把式子后面的全部用括号括起来求根号??再者,你这说是求一元二次方程的解也不算,就算是求一元二次方程的解也有一个判断前提条件吧???我看了你的代码 以后,我都不懂你想表达的是什么意思,还有,想搞编程这一块,代码写规范点,多想想,多百度,尝试自己解决,实在解决不了,你可以把代码贴到论坛上,但是记住要把你想表达想实现什么说清楚,别让我们这些看代码的人也会崩溃,不知道你想实现什么,还有,多打点注释,那样对你将来形成一种良好的编程习惯是很好的,希望你能多改改……

lizhi12110 发表于 2013-10-29 22:22:24

my_angel 发表于 2013-10-29 12:33 static/image/common/back.gif
说句心里话,每次看到这种这么简单的问题而且还是将代码直接丢上去让别人找错的提问都让我觉得异常恼火,这 ...

这是第三章顺序程序设计的最后一道例题。他就是这么打的。。。

lizhi12110 发表于 2013-10-29 22:23:57

CL0419 发表于 2013-10-29 12:59 static/image/common/back.gif
首先,我只想回答你,如果是出现这样的答案,说明是类型不匹配导致的错误。再者看到你这代码的时候,我真的 ...

这是第三章顺序程序设计的最后一道例题。他就是这么打的。。。

Black_Trace 发表于 2013-10-30 00:02:53

话说咋感觉输入的时候就存在问题了{:1_1:}

云客联盟 发表于 2013-10-30 20:33:41

scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
改成
scanf("%lf,%lf,%lf",&a,&b,&c);

printf("\nx1=%8.2f\nx2=%8.2f\n",x1,x2);
改成
printf("\nx1=%lf\nx2=%lf\n",x1,x2);

好好想一下把

云客联盟 发表于 2013-10-30 20:35:04

补充一下,我改的可能是错的

lizhi12110 发表于 2013-10-30 22:20:02

云客联盟 发表于 2013-10-30 20:33 static/image/common/back.gif
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
改成
scanf("%lf,%lf,%lf",&a,&b,&c);


谢谢大神帮助。   

lizhi12110 发表于 2013-10-30 22:28:05

云客联盟 发表于 2013-10-30 20:33 static/image/common/back.gif
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
改成
scanf("%lf,%lf,%lf",&a,&b,&c);


我知道怎么输了。 之前都没错。 是我的错。 不好意思。

云客联盟 发表于 2013-11-5 20:33:12

==、我不是大神,共同努力把

muller8 发表于 2013-11-7 12:49:50

感觉写的好丑陋的啊!
代码风格不好,建议看一些风格较好的书籍!

花开淡墨痕 发表于 2013-11-19 16:32:59

#include "stdio.h"
void main()
{
   double a,b,c,disc,x1,x2,p,q;
scanf("%lf,%lf,%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("x1=%8.2f\nx2=%8.2f\n",x1,x2);
}

花开淡墨痕 发表于 2013-11-19 16:34:53

输入1,2,3
结果是
1=    -5.00
2=   3.00

阔怀 发表于 2015-8-18 09:56:23

{:1_1:}
页: [1]
查看完整版本: 新手求助