1 #include<stdio.h>
 2 #include<math.h>
 3 int main() {
 4     // 待解方程数目
 5     int n;
 6     scanf("%d", &n);
 7
 8     // 声明方程系数
 9     float a, b, c;
10
11     // 存储读入的系数
12     float args[n][n];
13
14     // 声明方程的根
15     double x1, x2;
16
17     // 循环读入存储每行方程的系数a、b和c
18     int count=0;
19     while(count!=n) {
20         scanf("%f %f %f", &a, &b, &c);
21         args[count][0] = a;
22         args[count][1] = b;
23         args[count][2] = c;
24         count++;
25     }
26
27     // 循环计算每行的一元二次方程根
28     for(int i=0; i<n; i++) {
29         double delta = 0.0;
30         a = args[i][0];
31         b = args[i][1];
32         c = args[i][2];
33         delta = b * b - 4 * a * c;
34         if(delta==0) {
35             x1 = (-b+0)/(2*a);
36             x2 = x1;
37             printf("x1=x2=%.5f\n", x1);
38         } else if(delta>0) {
39             x1 = (-b+sqrt(delta))/(2*a);
40             x2 = (-b-sqrt(delta))/(2*a);
41             if(x1>x2)
42                 printf("x1=%.5f;x2=%.5f\n", x1, x2);
43             else
44                 printf("x2=%.5f;x1=%.5f\n", x2, x1);
45         } else {
46             // 实部计算公式: -1.0*b/(2*a) 虚部计算公式:+/- (sqrt(-delta))/(2*a)
47             printf("x1=%.5f+%.5fi;x2=%.5f-%.5fi\n", -1.0*b/(2*a), (sqrt(-delta))/(2*a), -1.0*b/(2*a), (sqrt(-delta))/(2*a));
48         }
49     }
50     return 0;
51 }
52 /*
53 pkuic_1709.c
54 计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根
55 http://pkuic.openjudge.cn/base1/4/
56 4:求一元二次方程的根
57 查看 提交 统计 提问
58 总时间限制: 1000ms 内存限制: 65536kB
59 描述
60     利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2 + bx + c =0的根,其中a不等于0。
61 输入
62     第一行是待解方程的数目n。其余n行每行含三个浮点数a, b, c(它们之间用空格隔开),分别表示方程ax2 + bx + c =0的系数。
63 输出
64     输出共有n行,每行是一个方程的根:
65     若是两个实根,则输出:x1=...;x2 = ...
66     若两个实根相等,则输出:x1=x2=...
67     若是两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i
68     所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。
69     x1和x2的顺序:x1的实部>Re的实部||(x1的实部==x2的实部&&x1的虚部>=x2的虚部)
70 样例输入
71     3
72     1.0 3.0 1.0
73     2.0 -4.0 2.0
74     1.0 2.0 8.0
75 样例输出
76     x1=-0.38197;x2=-2.61803
77     x1=x2=1.00000
78     x1=-1.00000+2.64575i;x2=-1.00000-2.64575i
79 提示
80     1、需要严格按照题目描述的顺序求解x1、x2。
81     2、方程的根以及其它中间变量用double类型变量表示。
82     3、函数sqrt()在头文件math.h中。
83     4、要输出浮点数、双精度数小数点后5位数字,可以用下面这种形式:printf("%.5f", num);
84 注意
85     在使用Java做此题时,可能会出现x1或x2等于-0的情形,此时,需要把负号去掉
86 来源
87     2005~2006医学部计算概论期末考试
88 */

转载于:https://www.cnblogs.com/valuestack/p/two-equation-of-one-variable.html

计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根相关推荐

  1. java计算一元二次方程的根_java基础 --- 求一元二次方程的根(分情况讨论)-Go语言中文社区...

    package com.test;//创建一个test包 import java.util.Scanner;//导入java.util包中的Scanner类(使用此类可以方便的完成输入流的输入操作) ...

  2. 试题 算法提高 编程求一元二次方程的根

    思路:普通的数学方法即可求解. 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 编写一个求解一元二次方程的实数根的程序,方程的系数由用户在运行xh 输入格式 输入一行三个整数分别为一 ...

  3. 求一元二次方程的根(c++基础)

    题目描述: 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的 ...

  4. 数组逆序重放c语言,计算概论(A)/基础编程练习2(8题)/6:数组逆序重放

    #include int main() { // 输入n个整数 int n,array[n],count=-; scanf("%d", &n); // 循环读入元素 whi ...

  5. 计算机c语言苹果和虫子,计算概论(A)/基础编程练习1(8题)/2:苹果和虫子

    #include #include int main() { /* n个苹果 每x小时能吃掉一个苹果 经过y小时 */ float n, x, y; /* 输入数据保证 y <= n * x * ...

  6. java求一元二次方程“ax2+bx+c=0,(a≠0)”的根。要求:通过命令行参数或者Scanner类输入a、b和c的值,借助Math类计算并输出该一元二次方程的实数根。

    编程题:求一元二次方程"ax2+bx+c=0,(a≠0)"的根.要求:通过命令行参数或者Scanner类输入a.b和c的值,借助Math类计算并输出该一元二次方程的实数根. 提示: ...

  7. 计算概论(A)/基础编程练习1(8题)/3:晶晶赴约会

    1 #include<stdio.h> 2 int main() { 3 int w; 4 scanf("%d", &w); 5 6 if(w==6 || w= ...

  8. 编程计算并输出一元二次方程的根

    目录 一.无要求 二.有要求: 例题: 从键盘上输入a,b,c的值,编程计算并输出一元二次方程的根 一.无要求 代码如下: #include<stdio.h>#include<mat ...

  9. 3-4 3.4编程计算一元二次方程的根

    3-4 3.4编程计算一元二次方程的根 3.4. A quadratic equation is an equation that either has the from or an equation ...

最新文章

  1. VMware虚拟机安装WIN7
  2. 对于图像分类任务,相对于全连接的DNN,CNN模型的主要优点有哪些?
  3. 学习FreeRTOS的几点体会
  4. Active Record 数据库迁移总结
  5. leetcode98. 验证二叉搜索树
  6. OpenGL入门-2-颜色
  7. 数据结构—单链表(类C语言描写叙述)
  8. Eclipse 提示 The given project is not a virtual component project
  9. 解决微信公共号开发出现 redirect_uri域名与后台配置不一致,错误码10003 错误
  10. 在校大学生关于程序员培训机构的想法
  11. Shell脚本字符串大小写转换
  12. 支付宝支付接口客户端调试工具使用教程
  13. Please, configure Web Facet first!的解决办法
  14. 线性代数——求逆矩阵
  15. 华为防火墙USG6309E开局基础配置之网络设置
  16. 盲孔、通孔和埋孔的区别
  17. 跬步至千里:揭秘谷歌AutoML背后的渐进式搜索技术
  18. Apache Kylin CUBE 剪枝优化和cuboid数量计算公式总结
  19. qt中的out与in
  20. 专利一通出案待答复和中通出案待答复

热门文章

  1. 安卓连接mysql客户端_安卓客户端与mysql服务器端数据交互
  2. 有计算机二级证书当兵有好处吗,大学生拿到这个证书可享受的福利,当兵有什么不一样?...
  3. python简单还是c简单_Python与C的简单比较(Python3.0)
  4. JS 新浪下拉菜单+jQuery
  5. 【 C 】动态内存分配案例分析
  6. 说说Request.Params[key]和Request[key]
  7. 配置openStack使用spice
  8. PHP开发移动端接口(增强版)
  9. 【转】Jquery -Ajax 入门练习 Jquery.Ajax 调用后台函数,获取DataTable Json,Asp.net
  10. ubuntu 10.10 安装 oracle 11G