两个问题.一、设:(b*b-4ac>0) 1,#include "math.h"main() { float a,b,c,x1,x2;scanf("%f,%f,%f",&a,&b,&c);x1=(-b+sqrt(b*b-4*a*c))/(2*a;x2=(-b-sqrt(b... 展开
两个问题.一、设:(b*b-4ac>0) 1,#include "math.h"main() { float a,b,c,x1,x2;scanf("%f,%f,%f",&a,&b,&c);x1=(-b+sqrt(b*b-4*a*c))/(2*a;x2=(-b-sqrt(b*b-4*a*c))/(2*a);printf("%f,%f",x1,x2);} 2,#include "math.h"main() { float a,b,c,x1,x2,disc,p,q;scanf("%f,%f,%f",&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("%f,%f",x1,x2);} 为什么第二个对,第一个不对?我看的是C语言的书,里面的一元二次方程是用第二种方式写的。于是就很纳闷为什么不用第一种,套用原始的公式。就试着写出来,发现会出错。麻烦高手帮忙看看,谢谢!二、#include "stdio.h"void main(){ float r,h,l,s,S,v,V;scanf("%f,%f",&r,&h);l=2*3.14*r;s=3.14*r*r;S=4*3.14*r*r;v=4*3.14*r*r*r/3;V=3.14*r*r*h;printf("圆周长=%.2f,圆面积=%.2f,圆球表面积=%.2f,圆球体积=%.2f,圆柱体积=%.2f",l,s,S,v,V);}为什么无论输入何数,算出来的圆柱体积V都是"0.00"?如何改? 收起