#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,d
float x1,x2
scanf("%f %f %f",&a,&b,&c)
d=b*b-4*a*c
if(d<0)
{
printf("on!\n")
}
else
if(d==0)
{
x1=(-b/(2*a))
printf("%f\n",x1)
}
else
if(d>0)
{
x1=(-b+sqrt(d))/(2*a)
x2=(-b-sqrt(d))/(2*a)
printf("X1=%f\nX2=%f\n",x1,x2)
}
}
你if后面跟着的cout没有在括号
里面,if为假只是不输出接着的cout,但{
}里面的会继续输出
#include<iostream>
using
namespace
std
int
main(void)
{
int
a,b,c,max,min
cout<<"请输入要比较的2个数:
"
cin>>a>>b
cout<<"1较大数
2较小数:
"
cin>>c
if
(c==1)
{
if
(a>b)
{
max=a
}
else
max=b
cout<<"所求的为较大数="<<max<<endl
}
if
(c==2)
{
if
(a<b)
{
min=a
}
else
min=b
cout<<"所求的为较小数="<<min<<endl
}
return
0
}
试了一下,并没有出现你说的情况,不行的话把程序里面用到的常数数值都改成小数,如x1=(-b+sqrt(del))/2.0*adel=b*b-4.0*a*c程序运行:
请输入a,b,c的值:5.5 8.8 1.1
del=53.24
5.5x*x+8.8x+1.1=0的解是:
x1=-4.13442
x2=-44.2656
请输入a,b,c的值:2 5 1
del=17
2x*x+5x+1=0的解是:
x1=-0.876894
x2=-9.12311
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)