计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根
#include<stdio.h>
#include<math.h>
int main() {
// 待解方程数目
int n;
scanf("%d", &n); // 声明方程系数
float a, b, c; // 存储读入的系数
float args[n][n]; // 声明方程的根
double x1, x2; // 循环读入存储每行方程的系数a、b和c
int count=;
while(count!=n) {
scanf("%f %f %f", &a, &b, &c);
args[count][] = a;
args[count][] = b;
args[count][] = c;
count++;
} // 循环计算每行的一元二次方程根
for(int i=; i<n; i++) {
double delta = 0.0;
a = args[i][];
b = args[i][];
c = args[i][];
delta = b * b - * a * c;
if(delta==) {
x1 = (-b+)/(*a);
x2 = x1;
printf("x1=x2=%.5f\n", x1);
} else if(delta>) {
x1 = (-b+sqrt(delta))/(*a);
x2 = (-b-sqrt(delta))/(*a);
if(x1>x2)
printf("x1=%.5f;x2=%.5f\n", x1, x2);
else
printf("x2=%.5f;x1=%.5f\n", x2, x1);
} else {
// 实部计算公式: -1.0*b/(2*a) 虚部计算公式:+/- (sqrt(-delta))/(2*a)
printf("x1=%.5f+%.5fi;x2=%.5f-%.5fi\n", -1.0*b/(*a), (sqrt(-delta))/(*a), -1.0*b/(*a), (sqrt(-delta))/(*a));
}
}
return ;
}
/*
pkuic_1709.c
计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根
http://pkuic.openjudge.cn/base1/4/
4:求一元二次方程的根
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
利用公式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。
输入
第一行是待解方程的数目n。其余n行每行含三个浮点数a, b, c(它们之间用空格隔开),分别表示方程ax2 + bx + c =0的系数。
输出
输出共有n行,每行是一个方程的根:
若是两个实根,则输出:x1=...;x2 = ...
若两个实根相等,则输出:x1=x2=...
若是两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i
所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。
x1和x2的顺序:x1的实部>Re的实部||(x1的实部==x2的实部&&x1的虚部>=x2的虚部)
样例输入
3
1.0 3.0 1.0
2.0 -4.0 2.0
1.0 2.0 8.0
样例输出
x1=-0.38197;x2=-2.61803
x1=x2=1.00000
x1=-1.00000+2.64575i;x2=-1.00000-2.64575i
提示
1、需要严格按照题目描述的顺序求解x1、x2。
2、方程的根以及其它中间变量用double类型变量表示。
3、函数sqrt()在头文件math.h中。
4、要输出浮点数、双精度数小数点后5位数字,可以用下面这种形式:printf("%.5f", num);
注意
在使用Java做此题时,可能会出现x1或x2等于-0的情形,此时,需要把负号去掉
来源
2005~2006医学部计算概论期末考试
*/
计算概论(A)/基础编程练习1(8题)/4:求一元二次方程的根的更多相关文章
- 计算概论(A)/基础编程练习2(8题)/1:求平均年龄
#include<stdio.h> int main() { // 声明与初始化 , s=, age=; // 输入学生人数 scanf("%d", &n); ...
- OpenJudge计算概论-求一元二次方程的根【含复数根的计算、浮点数与0的大小比较】
/*====================================================================== 求一元二次方程的根 总时间限制: 1000ms 内存限 ...
- Openjudge-计算概论(A)-求一元二次方程的根
描述: 利用公式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)/基础编程练习2(8题)/8:1的个数
#include<stdio.h> int main() { ; // 存储测试数据的二进制形式中1的个数 int bian[N]; // 输入十进制整数N 表示N行测试数据 scanf( ...
- 计算概论(A)/基础编程练习2(8题)/7:整数的个数
#include<stdio.h> int main() { ] = {}; // 输入k个正整数 scanf("%d",&k); // 循环读入和进行算术 w ...
- 计算概论(A)/基础编程练习2(8题)/6:数组逆序重放
#include<stdio.h> int main() { // 输入n个整数 ; scanf("%d", &n); // 循环读入元素 while(scan ...
- 计算概论(A)/基础编程练习2(8题)/5:点和正方形的关系
#include<stdio.h> #include<math.h> int main() { // 输入坐标 float x, y; while(scanf("%f ...
- 计算概论(A)/基础编程练习1(8题)/2:苹果和虫子
#include<stdio.h> #include<math.h> int main() { /* n个苹果 每x小时能吃掉一个苹果 经过y小时 */ float n, x, ...
- 计算概论(A)/基础编程练习1(8题)/1:大象喝水
#include<stdio.h> int main() { ; // n < 100 scanf("%d", &n); // 循环遍历判断 再进行平方和 ...
随机推荐
- TOP100summit:【分享实录】Twitter 新一代实时计算平台Heron
本篇文章内容来自2016年TOP100summit Twitter technical lead for Heron Maosong Fu 的案例分享. 编辑:Cynthia Maosong Fu:T ...
- Codeforces 838B - Diverging Directions - [DFS序+线段树]
题目链接:http://codeforces.com/problemset/problem/838/B You are given a directed weighted graph with n n ...
- SQL Fundamentals || DCL(Data Control Language) || 系统权限&对象权限管理(GRANT&REVOKE)
SQL Fundamentals || Oracle SQL语言 语句 解释 Create user Creates a user(usually performed by a DBA) Grant ...
- Django模板变量的使用
在views.py中进行逻辑控制,编写向跳转页面传递内容的代码.可以看出,对类.字典.列表中的数据均可操作.views.py的内容如下: from django.shortcuts import re ...
- 各大互联网公司java开发面试常问问题
本人是做java开发的,这是我参加58,搜狐,搜狗,新浪微博,百度,腾讯文学,网易以及其他一些小的创业型公司的面试常被问的问题,当然有重复,弄清楚这些,相信面试会轻松许多. 1. junit用法,be ...
- Oracle HA 之 Server Pool 实战
--创建server pool的两种方式: 图形界面:console和dbca 演示-略 命令行工具:srvctl和crsctl --srvctl和crsctl创建server ...
- REQUEST FORM 实例
https://www.programcreek.com/python/example/51524/flask.request.form
- MySQL5.6命令笔记
授权root用户在远程终端访问 ' WITH GRANT OPTION;
- 用 Python 替代 Bash 脚本(转)
add by zhj: 其实作者是想说用Python来做那些Bash实现起来比较麻烦的部分,即将Bash与Python结合使用. 英文原文:http://www.linuxjournal.com/co ...
- oracle行转列,列转行
多行转字符串这个比较简单,用||或concat函数可以实现 SQL Code select concat(id,username) str from app_userselect id||userna ...