一元二次方程求解器

 

 

 

 

 

 1 //  使用Xcode编写
 2 //  main.cpp
 3 //  pingfang
 4 //
 5 //  Created by 吕鸿坤 on 2019/1/13.
 6 //  Copyright © 2019 LyuHongkun. All rights reserved.
 7 //
 8 #include <bits/stdc++.h>
 9 using namespace std;
10 int main()
11 {
12     int a,b,c,d,m,cntr=0;
13     double re1,re2;
14     re1=re2=0;
15     printf("模式1:ax^2+bx+c=0\n");
16     printf("模式2:ax^2+bx=c\n");
17     printf("我们只支持小数版本\n");
18     printf("请输入模式:");
19     scanf("%d",&m);
20     switch(m)
21     {
22         case 1:
23             printf("ax^2+bx+c=0\n");
24             scanf("%d%d%d",&a,&b,&c);
25             d=b*b-4*a*c;
26             if(d>0)
27             {
28                 re1=(-b+sqrt(b*b-4*a*c))/(2*a);
29                 re2=(-b-sqrt(b*b-4*a*c))/(2*a);
30                 cntr=2;
31                 break;
32             }
33             if(d==0)
34             {
35                 re1=(-b+sqrt(b*b-4*a*c))/(2*a);
36                 re2=re1;
37                 cntr=1;
38                 break;
39             }
40             break;
41         case 2:
42             printf("ax^2+bx=c\n");
43             scanf("%d%d%d",&a,&b,&c);
44             d=b*b-4*a*c;
45             if(d>0)
46             {
47                 re1=(-b+sqrt(b*b-4*a*(-c)))/(2*a);
48                 re2=(-b-sqrt(b*b-4*a*(-c)))/(2*a);
49                 cntr=2;
50                 break;
51             }
52             if(d==0)
53             {
54                 re1=(-b+sqrt(b*b-4*a*(-c)))/(2*a);
55                 re2=re1;
56                 cntr=1;
57                 break;
58             }
59             break;
60     }
61     switch(cntr)
62     {
63         case 2: printf("该方程的第一个解:x=%f\n该方程的第二个解:x=%f\n",re1,re2);break;
64         case 1: printf("该方程只有一个解:x=%f\n",re1);break;
65     }
66     if(cntr==0) printf("无解\n");
67 }

用到的函数

switch 介绍 借助33题 数字和星期转换 ©2018-2019 银河帝国 All Rings Reseerved

友情链接-DALDLDLDLDLDLDLDLDLDL分界线

 银河帝国大佬链接🔗

 轩辕东升大佬链接🔗

 ACE离殇大佬链接🔗

 

posted @ 2019-01-17 17:03  DanielLyu  阅读(640)  评论(0编辑  收藏  举报