//
// main.c
// 一元二次方程求解
//
// Created by 丁小未 on 13-7-9.
// Copyright (c) 2013年 dingxiaowei. All rights reserved.
//
#include <stdio.h>
#include <math.h>
float O(float a,float b,float c)
{
float res = b*b-4*a*c;
if(res<0)
{
return -1;
}
else
{
return res;
}
}
int main(int argc, const char * argv[])
{
float a,b,c;
char flag='y';
printf("*******欢迎使用一元二次方程求根系统***************\n");
do
{
do {
printf("\n`请输入一元二次方程的a,b,c参数(例如1,4,4):");
scanf("%f,%f,%f",&a,&b,&c);
} while (0==a);
float res;
float x,y;
res=O(a, b, c);
if (res<0)
{
printf("方程无解!");
}
if(b*b==4*a*c)
{
x=(-b)/2*a;
printf("方程的解:X=Y=%.2f",x);
}
if(res>0)
{
x=(-b+sqrtf(res))/2*a;
y=(-b-sqrtf(res))/2*a;
printf("方程的解:\nX=%.2f\nY=%.2f",x,y);
}
printf("\n您想继续吗?(y/n)");
flag = getchar(); //要输入两次是清除之前获取到的留在缓存中的'\n'
flag = getchar();
}while ('y'==flag);
return 0;
}