求一元二次方程的解

简介: 解一元二次方程a不为0的时候有三种情况,一、有两个不相等的实数根;二、有两个相等的实数根;三、有两个不相等的共轭复根。使用\bigtriangleup=b^2-4ac与0的关系来控制执行条件,再用求根公式求解(需要用求根函数sqrt(),在头文件需要声明一下#include"math.h")

一、求一元二次方程的解

1.题目
求一元方程ax^2+bx+c=0(a!=0)的实数根,a,b,c通过键盘输入

2.思路
解一元二次方程a不为0的时候有三种情况,一、有两个不相等的实数根;二、有两个相等的实数根;三、有两个不相等的共轭复根。使用=b^2-4ac与0的关系来控制执行条件,再用求根公式求解(需要用求根函数sqrt(),在头文件需要声明一下#include"math.h")

3.代码

#include "stdio.h"
#include "math.h"
 
int main() {
    float a, b, c, d, x1, x2, p, q;
    printf("请输入a,b,c:");
    scanf("%f%f%f", &a, &b, &c);
    d = b * b - 4 * a * c;
 
    if (d > 0) {
        x1 = (-b + sqrt(d)) / (2 * a);
        x2 = (-b - sqrt(d)) / (2 * a);
        printf("方程有两个不相等的实数根,分别为:");
        printf("%.2f,%.2f", x1, x2);
    } else if (d == 0) {
        x1 = (-b + sqrt(d)) / (2 * a);
        x2 = x1;
        printf("方程有两个相等的实数根,分别为:");
        printf("%.2f,%.2f", x1, x2);
    } else {
        p = -b / (2 * a);
        q = sqrt(-d) / (2 * a);
        printf("方程有两个不相等的共轭复根,分别为:");
        printf("%.2f+%.2fi,%.2f+%.2fi", p, q, p, q);
    }
 
    return 0;
}

补充知识点

1.math.h
math.h头文件中声明了常用的一些数学运算(大多是数学公式)

**1.绝对值
**
int n=-1;

abs(n); 求整型的绝对值

2.三角函数

double sin(n);正弦

double cos(n);余弦

double tan(n);正切
**
3.求根**

int 4;

sqrt(n);

2.控制输出格式
%3d:输出所占的格子(向右对齐),比如输出数字,前面就空3-1=2个空格。

代码结果:

#include "stdio.h"
 
int main() {
    int n = 2;
    printf("%3d", n);
    return 0;
}

执行结果:
image.png

%9s: 输出所占的格子(向右对齐),输出字符串,前面空9-字符串的长度个空格

代码:

#include "stdio.h"
 
int main() {
    char str[6] = "china";
    printf("%9s", str);
    return 0;
}

执行结果:
image.png

注意定义字符数组要比字符串的长度大1

%.2f:保留两位小数点

代码:

#include "stdio.h"
 
int main() {
    float n = 2;
    printf("%.2f", n);
    return 0;
}

执行结果:
image.png

%5.3f:占5个位,数值保留三位小数点

代码:

#include "stdio.h"
 
int main() {
    float n;
    scanf("%f", &n);
    printf("%8.3f", n);
    return 0;
}

执行结果:
image.png

5保留三位小数为5.000,占5个位,小数点也占一个位,所以前面就空三个位

相关文章
|
数据可视化 PyTorch 算法框架/工具
“零一万物”Yi系列魔搭最佳实践教程来了!
11 月 6 日,李开复博士带队创办的AI2.0公司零一万物正式开源发布首款预训练大模型 Yi-34B,模型开放商用申请,已在阿里云魔搭社区ModelScope首发。魔搭第一时间推出了模型部署相关教程,供开发者参考并快速上手。
|
IDE 程序员 开发工具
只用正版!教你5个方法,白嫖JetBrains家族的所有产品,包含:IntelliJ IDEA、PyCharm、WebStorm、CLion、Rider
程序员晚枫分享了5种官方认证的免费使用JetBrains家族产品的方法,包括内容创作者计划、开源项目支持、教育许可证、用户组支持和开发者认可计划。这些方法帮助个人开发者与小型团队合法获取强大开发工具,如IntelliJ IDEA、PyCharm等,降低开发成本,提升效率。同时提醒大家遵守使用规范,尊重知识产权。
2540 13
|
C语言
C语言中的复合语句
C语言中的复合语句
1573 1
|
弹性计算 运维 安全
阿里云服务器Windows和Linux操作系统区别对比
阿里云服务器Windows和Linux操作系统区别对比,性能有差异吗?有,同配置下Linux性能要优于Windows,但这与阿里云无关,仅仅是linux和windows之间的区别。另外,阿里云提供的windows和linux操作系统均为正版授权,用户不需要额外支付许可费用,如何选择?看用户自己的应用程序情况。
|
存储 项目管理 数据库
6款适合团队使用的在线协作文档工具:功能、费用与特色对比
在数字化工作环境中,选择合适的在线协作文档工具对团队生产力至关重要。本文介绍了六款备受好评的工具:板栗看板、Google Docs、Microsoft OneNote、Notion、Dropbox Paper 和 Quip。从功能、费用到特色,全面对比分析,帮助企业管理者找到最适合团队需求的解决方案。
1554 6
Java String、Date、Calendar、LocalDate和LocalDateTime互转
Java String、Date、Calendar、LocalDate和LocalDateTime互转
349 0
|
Java 测试技术 数据库连接
PHP和Java哪个更难?
【7月更文挑战第2天】PHP和Java哪个更难?
500 0
|
人工智能 小程序 Java
【评测】玩转阿里云《10 分钟构建 AI 客服并应用到网站、钉钉或微信中》
本文介绍了使用阿里云百炼大模型在10分钟内构建AI客服,并应用于网站、钉钉或微信中的体验。作者“JavaDog程序狗”详细描述了从搭建到完成的全过程,包括快速上手、遇到的问题及解决方法、定制化需求以及云产品的整体体验。文档清晰易懂,集成过程顺畅,客服支持响应迅速,定制功能满足特定业务需求,总体体验极佳,适合开发者尝试。
697 5
【评测】玩转阿里云《10 分钟构建 AI 客服并应用到网站、钉钉或微信中》
|
数据可视化 数据处理 语音技术
《Python 语音转换简易速速上手小册》第5章 音频数据处理(2024 最新版)(上)
《Python 语音转换简易速速上手小册》第5章 音频数据处理(2024 最新版)
530 0
|
监控 数据挖掘 Python
python3解析wav文件获取dtmf值
【8月更文挑战第5天】这段Python代码示例展示了如何解析WAV文件并检测其中的双音多频(DTMF)信号。它首先打开并读取WAV文件的内容,接着利用`numpy`和`scipy`库计算频谱图。通过定义标准的DTMF频率对,并在频谱中寻找这些特定的频率组合,从而识别出DTMF值。此代码可用于电话系统监控或音频数据分析项目中,以自动化检测和处理DTMF信号。
403 8