帮忙看看这个程序

[复制链接]
查看11 | 回复4 | 2011-8-1 19:55:59 | 显示全部楼层 |阅读模式
main()
{float fgen();
float sgen();
float a,b,c,d,x,y;
printf("input: a,b,c \n");
scanf("%d,%d,%d",&a,&b,&c);
d=b*b-4*a*c;
{if(d<0) printf("cannot slove! \n");
else printf("key is %d,%d",x,y);
x=fgen(a,b,c);
y=sgen(a,b,c);}
getch();
}
float fgen(p,q,r)
float p,q,r;
{float w,m,n;
m=q*q-4*p*r;
n=sqrt(m);
w=(-q+n)/(2*p);
return(w);
}
float sgen(p,q,r)
float p,q,r;
{float w,m,n;
m=q*q-4*p*r;
n=sqrt(m);
w=(-q-n)/(2*p);
return(w);
}

回复

使用道具 举报

千问 | 2011-8-1 19:55:59 | 显示全部楼层
{if(d<0) printf("cannot slove! \n");else printf("key is %d,%d",x,y);x=fgen(a,b,c);y=sgen(a,b,c);}应该写成:{if(d<0) printf("cannot slove! \n");else {x=fgen(a,b,c);y=sgen(a,b,c);printf("key is %d,%d",x,y);}}...
回复

使用道具 举报

千问 | 2011-8-1 19:55:59 | 显示全部楼层
scanf("%d,%d,%d",&a,&b,&c);这是是%d么,错了吧还有程序结束的时候,你根本没有输出结果还有一个问题,else后面有3条语句,但是你并没有用大括号括起来 还发现一个问题,你在else后面输出了x,y但是给x,y赋值却是在之后...
回复

使用道具 举报

千问 | 2011-8-1 19:55:59 | 显示全部楼层
用VC 6试试看你的程序 没有问题...
回复

使用道具 举报

千问 | 2011-8-1 19:55:59 | 显示全部楼层
什么问题?求解一元二次方程?...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行