C语言程序 看看程序有什么问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 22:16:30
解一元二次方程好像有些问题各位大虾帮忙看看

#include<stdio.h>
#include<math.h>
#include<conio.h>
main(){
float a,b,c,d,p,q,;
printf("input a,b,c \n");
scanf("%d%d%d",&a,&b,&c);
d=b*b-4*a*c;
if (d<0)
{
p=-b/(2*a);
q=sqrt(-d)/(2*a);
printf("m=%d+%di n=%d-%di",p,q,p,q);
}
else
{
if(d=0)
{
p=q=(-b)/(2*a);
printf("m=n=%d",p);
}
else
{
p=(-b+sqrt(d))/(2*a);
q=(-b-sqrt(d))/(2*a);
printf("m=%d n=%d",p,q);
}
}
getch();
}

float a,b,c,d,p,q,;
printf("input a,b,c \n");
scanf("%d%d%d",&a,&b,&c);
你前面abc定义的是float类型,scanf那里怎么还可以写%d呢? 这里错了,至于怎么改,你要自己查一下相关的资料,自己查的才有收获.
后面也有类似的错误,好好看看.都是在输出那里.
如前者回答,多了个逗号

float a,b,c,d,p,q,;

在';'前多了个逗号','

#include<stdio.h>
#include<math.h>
#include<conio.h>
main(){
float a,b,c,d,p,q,;
以上最后一句多了“逗号” 以后要认真。