一元二次方程组求解

一元二次方程组求解

  1 //
  2 
  3 //  main.c
  4 
  5 //  一元二次方程求解
  6 
  7 //
  8 
  9 //  Created by 丁小未 on 13-7-9.
 10 
 11 //  Copyright (c) 2013年 dingxiaowei. All rights reserved.
 12 
 13 //
 14 
 15  
 16 
 17 #include <stdio.h>
 18 
 19 #include <math.h>
 20 
 21 float O(float a,float b,float c)
 22 
 23 {
 24 
 25     float res = b*b-4*a*c;
 26 
 27     if(res<0)
 28 
 29     {
 30 
 31         return -1;
 32 
 33     }
 34 
 35     else
 36 
 37     {
 38 
 39         return res;
 40 
 41     }
 42 
 43 }
 44 
 45  
 46 
 47 int main(int argc, const char * argv[])
 48 
 49 {
 50 
 51     float a,b,c;
 52 
 53     char flag='y';
 54 
 55     printf("*******欢迎使用一元二次方程求根系统***************\n");
 56 
 57     do
 58 
 59     {
 60 
 61     do {
 62 
 63         printf("\n请输入一元二次方程的a,b,c参数(例如1 4 4):");
 64 
 65         scanf("%f %f %f",&a,&b,&c);
 66 
 67     } while (0==a);
 68 
 69     
 70 
 71     float res;
 72 
 73     float x,y;
 74 
 75     res=O(a, b, c);
 76 
 77     if (res<0)
 78 
 79     {
 80 
 81         printf("方程无解!");
 82 
 83     }
 84 
 85     if(b*b==4*a*c)
 86 
 87     {
 88 
 89         x=(-b)/2*a;
 90 
 91         printf("方程的解:X=Y=%.2f",x);
 92 
 93     }
 94 
 95     if(res>0)
 96 
 97     {
 98 
 99         x=(-b+sqrtf(res))/2*a;
100 
101         y=(-b-sqrtf(res))/2*a;
102 
103         printf("方程的解:\nX=%.2f\nY=%.2f",x,y);
104 
105     }
106 
107     printf("\n您想继续吗?(y/n)");
108 
109     flag = getchar();  //要输入两次是清除之前获取到的留在缓存中的'\n'
110 
111     flag = getchar();
112 
113     }while ('y'==flag);
114 
115     return 0;
116 
117 }
118 
119  

 

转载于:https://www.cnblogs.com/dingxiaowei/p/3182648.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值