首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

兄弟们!一个简单的一元二次方程有关问题

2012-03-11 
兄弟们!一个简单的一元二次方程问题~求解一元二次方程ax*x+bx+c0我的程序如下#includestdio.h #include

兄弟们!一个简单的一元二次方程问题~
求解   一元二次方程     ax*x+bx+c=0


我的程序如下  
#include   "stdio.h "
#include   "math.h "
main()
{
        float   a,b,c,x1,x2;
      float   deta=b*b-4*a*c;
     
        pirntf   ( "please   input   a,b,c ");
        scanf   ( "%f%f%f ",&a,&b,&c);
       
        if   (a!=0)
        {
        if   (deta> =0)
        {
        if(deta==0)
        {
        x1=x2=-b/(2*a);
        printf   ( "x1,x2 ");
        }
        else
        {
        x1=(-b+sqrt(deta))/(2*a);
        x2=(-b-sqrt(deta))/(2*a);
        printf   ( "x1,x2 ");
        }
        }
       
        else
        {
        printf   ( "no ");
        }
        }
       
        else
        printf   ( "fei   yiyuanercifangchengzu ");
       
       
}

出错如下   :  
第一个错误           float   a,b,c,x1,x2;
                              float   deta=b*b-4*a*c;
我如果把float   deta=b*b-4*a*c;这句移到   scanf后错误就可以解决   ,请问维什莫呢?     我这都是在定义变量,为何有个顺序问题呢?为何不能把变量定义出来后,在把scanf输入的值往里代入?


第2个错误
好像说我的   x1,x2   is   assigned   a   value   which   is   never   used     in   function   main     请问这个错误出在那里?

谢谢大虾们的耐心解答


[解决办法]
大哥,,,,,,咋不求值出来呢???
应该这样
#include "stdio.h "
#include "math.h "
main()
{
float a,b,c,x1,x2;
float deta;

printf ( "please input a,b,c ");//你的PRINTF输错了。。。。
scanf ( "%f%f%f ",&a,&b,&c);
deta=b*b-4*a*c;//先定义,后计算
if (a!=0)
{
if (deta> =0)
{
if(deta==0)
{
x1=x2=-b/(2*a);
printf ( "%f,%f\n ",x1,x2);//为什么不;计算出值呢
}
else
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf ( "%f%f ",x1,x2);
}
}

else
{
printf ( "no ");
}
}

else
printf ( "fei yiyuanercifangchengzu ");


}
就这样吧,应该可以了。。。。。
至于x1,x2 is assigned a value which is never used in function main 是你的X1,X2没有输出,怎么用它。?(%F)代表它FLOAT啊。要这个才去掉WARNINGS
俺人也菜,本学C++的,所以在VC里编译了好几次。有些语法表达式不知呀。呵呵

热点排行