重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
include stdio.h#include math.hint main(void) {double a,b,c,x1,x2,temp;printf( 利用公式法求一元二次方程的解。
成都创新互联公司长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为惠来企业提供专业的网站制作、成都网站建设,惠来网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
输入有错误,输入的时候不要用逗号分隔,应该是用空格分隔,因为前面格式字符串是%f%f%f。
你这边少个判断,当f=0的时候只有一个解。还有。
你的程序有2处错误:(1)x1 = x2 = -b/2*a;这里会出错,把a、b、c改成double类型就可以了。这跟C语言的四则运算规则有关系。a、b都为int类型,他们相除的结果也为int类型,会自动舍弃小数部分。
-b)/(2*a);printf(x1=%f\n,x1);} 另外你的程序有两个警告,意思是说,你把一个double的数据强制转换为float型,有可能导致数据被截断,从而出现错误。
我运行的好好的啊,输入2,4,2的时候出来的是两个-1啊,输入1,4,2时,是两个-注:你这个程序输入的显示看上去略不协调。
使用scanf、printf函数,需要包含 标准输入输出头文件 stdio.h。
C语言的头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。在本例中,使用了三个库函数:输入函数scanf,正弦函数sin,输出函数printf。
scanf 函数最主要的用法是:scanf(输入控制符, 输入参数);功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。
注意:inf一般是因为得到的数值,超出浮点数的表示范围(溢出,即阶码部分超过其能表示的最大值);而nan一般是因为对浮点数进行了未定义的操作,如对-1开方。
nan 是 not a number 的缩写, 即计算结果 不是个 数。例如: 32 位 数 实际指数 128 ,数符 1 或 0,指数域 二进制 1111 1111。尾数域 等于非零。ind 是 indeterminate 的缩写,即无法确定 是什么。
#INF / inf:这个值表示“无穷大 (infinity 的缩写)”,即超出了计算机可以表示的浮点数的最大范围(或者说超过了 double 类型的最大值)。
有时则不造成严重的影响。尾数超出的部分舍去, 这个就是平常所说实数处理的误差问题或精度问题。举个最简单的例子:1/10即0.1,在二进制下就无法准确地表示出来。
NaN 的意思是 “Not a Number”, 不是一个数值,或无法表示的数值,例如溢出了, 负数求对数了,分母为0了。用户可以加入一些打印语句,检查数据是否有错。再有 A/a 这种运算是整除运算,不能算做是浮点运算。
认识python中的inf和nan python中的正无穷或负无穷,使用float(inf)或float(-inf)来表示。这里有点特殊,写成:float(inf),float(INF)或者float(Inf)都是可以的。