你输入没有分隔符 会读入混乱,可以用空格分割一下
scanf("%f %f %f",&a,&b,&c);
然后再输入 1.23 3.2 4.5这样以空格分割数据
#include<stdio.h>
int main()
{
float a,b,c;
scanf("%f %f %f",&a,&b,&c);
printf("%f %f %f",a,b,c);
return 0;
}
贴一下运行结果看一下
写法看着没什么问题,可能是printf里面三个数字连在一起了,尝试在输出的%f之间加上空格
你肯定是输入的时候浮点数之间加逗号了,把逗号改成空格,或者换行就可以了
你写的输入scanf(%f%f%f)后输入的时候就只能用空格输入,比如1 2 3。不能1,2,3。如果要用逗号输入的话就要改成 scanf(%f,%f,%f)这种形式。
不是赋值失败,是因为你输入的数值问题,你保证b*b-4ac>=0,否则sqrt开根号会出现错误显示