首页 > 其他分享 >利用C语言进行常见的数学运算:一元二次方程求根

利用C语言进行常见的数学运算:一元二次方程求根

时间:2024-04-18 19:56:00浏览次数:22  
标签:%. der C语言 2f 一元二次方程 printf x2 x1 求根

从键盘输入a, b, c的值,编程计算并输出一元二次方程ax2 + bx + c = 0的根 并保留两位小数

.#include <stdio.h> //使用printf,scanf函数
.#include <math.h> //使用sqrt(开平方)函数
int main()
{
float a, b, c; //定义浮点型变量,防止后续除法运算时,计算机截掉小数部分
float x1, x2;
while (scanf("%f %f %f", &a, &b, &c) != EOF) //循环判断本次输入是否结束,用于多行输入
{
float der = (b * b - 4 * a * c); //定义数学中德尔塔
if (a == 0)printf("Not quadratic equation"); //判断是否是一元二次方程
else {
if (der > 0) {
x1 = (-b) / (2 * a) - (sqrt(der) / (2 * a));
x2 = (-b) / (2 * a) + (sqrt(der) / (2 * a));
printf("x1=%.2f;x2=%.2f\n", x1, x2);
}
else if (der == 0) {
x1 = x2 = (-b) / (2 * a);
{
if (x1 == (-0.00)) {
printf("x1=x2=0.00\n");
}
else {
printf("x1=x2=%.2f\n", x1);
}
}
}
else if (der < 0) {
float s, y;
s = (-b) / (2 * a);
y = sqrt(-der) / (2 * a); //计算机无法对负数进行开平方运算
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", s, y, s, y); //输出时应手动添加数学意义上的虚部标识符‘i’
}
}
}
return 0;
}

标签:%.,der,C语言,2f,一元二次方程,printf,x2,x1,求根
From: https://www.cnblogs.com/lzlwyh/p/18144287

相关文章

  • C语言读取通达信数据
    因为无法事先知道数据的行数,只能通过计算得到,所以数组创建只能通过动态分配内存。一个解决方案是,我只想读取最后1000行,那么数组就可以直接定义大小为1000,然后把文件指针定位到倒数1000行。#include<stdio.h>#include<stdlib.h>structStock{intdate;floatopen......
  • c语言 *p和**p的区别
    前言:先要理解地址和数据,你可以想象有很多盒子,每个盒子有对应的号码,那个号码叫做“地址”,而盒子里放的东西叫做“数据”。上面就段理解了,p和p的区别就不难解释了。p是指针变量,用来存放地址,你可以认为是上面所说的盒子的号码,“*”是解引用操作符,你可以把它理解成打开盒子,p就是......
  • c语言程序实验——实验报告六
    c语言程序实验————实验报告六实验项目名称:实验报告6循环结构程序设计(for语句的应用)实验项目类型:验证性实验日期:2024年4月15日一、实验目的1.熟练掌握三种循环语句并能正确运用;2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;3.进一步学习程序调试;4.了解......
  • c语言程序实验——实验报告五
    c语言程序实验————实验报告五实验项目名称:实验报告5循环结构程序设计(while、dowhile语句的应用)实验项目类型:验证性实验日期:2024年4月11日一、实验目的1.熟练掌握三种循环语句并能正确运用;2.能够用循环实现一些常用算法,如穷举法,迭代法,递推法等;3.进一步学习程......
  • C语言连点器
    起因是想起前段时间玩mc挖大量石头要一直按左键怪累的,就有了想整个连点器的想法,不过在网上找半天都没有满意的,要么太臃肿,要么"VIP",要么广告满天飞。。。受不了了,想了想好像自己写一个也不是很难使用c语言编写,因为可以自动生成.exe文件还是挺方便的使用示例:在https://5vmc.co......
  • C++的介绍及与C语言的对比
    目录一.C语言与C++二.面向过程和面向对象三.C++的应用领域四.Cpp的运行和标准1.编译型语言和解释型语言2.C++的运行过程及相关文件解释一.C语言与C++C语言C语言是为开发Unix系统而创建的语言,它是一种面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。它贴近硬件,运行......
  • c语言 复习 1
    1printf函数1参数两个(字符串,占位符对应的变量)常见占位符%c字符类型%s字符串类型%dint%ldlong%ffloat%lfdouble%o八进制%u十进制无符号整数%x十六进制无符号整数%p指针常见变量类型基本数据类型整形short/int/long字节数byte2/4/4or8位数bit16......
  • 结对编程(c语言)
    作业要求:小学老师要每周给同学出300道四则运算练习题。选择c语言进行实现–两个运算符,100以内的数字,不需要写答案。–需要检查答案是否正确,并且保证答案在0..100之间–尽可能地多设置一些条件也可以让同学们自选一个小应用程序进行结对编程的开发请两位同学以结对编码(......
  • 实验2 C语言分支与循环基础应用编程
    task1#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN5intmain(){intnumber;inti;srand(time(0));for(i=0;i<N;++i){number=rand()%65+1;printf("20238331%04d......
  • 实验2_C语言分支与循环基础应用编程
    实验任务1#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN5intmain(){ intnumber; inti; srand(time(0)); for(i=0;i<N;++i){ number=rand()%65+1; printf("20238331%04d\n",number); } return0;}......