精华内容
下载资源
问答
  • C语言计算一元二次方程的根

    千次阅读 2020-05-06 10:01:56
    #include<stdio.h> #include<math.h> int main(){ double a,b,c,delta,x1,x2,m,n,i,j; scanf("%lf%lf%lf",&a,&b,&c); if(fabs(a)<=1e-6){ if(fabs(b<... printf("Not an ...
    #include<stdio.h>
    #include<math.h>
    int main(){
    	double a,b,c,delta,x1,x2,m,n,i,j;
    	scanf("%lf%lf%lf",&a,&b,&c);
    	if(fabs(a)<=1e-6){
    		if(fabs(b<=1e-6))
    		printf("Not an equation\n");
    		else
    		printf("%.2lf\n",-c/b);
    	}
    	else
    	{
    		delta=b*b-4*a*c;
    		m=-b/(2*a);
    		n=sqrt(fabs(delta))/(2*fabs(a));
    		i=m+n;
    		j=m-n;
    		if(delta<0)
    		printf("%.2lf+%.2lfi %.2lf-%.2lfi\n",m,n,m,n);
    		else 
    		{
    			if(i==j)
    			printf("%.2lf %.2lf\n",i,i);
    			else
    			{
    				x1=(i>j)? i:j;
    				x2=(i<j)? i:j;
    				printf("%.2lf %.2lf\n",x1,x2);
    			}
    		}
    	}
    	return 0;
    }

     

    展开全文
  • C语言计算一元二次方程的根(完全版)

    万次阅读 多人点赞 2018-12-18 17:37:54
    一元二次方程ax2+bx+c=0的根。a、b、c为任意实数。 输入(Input): 任意三个系数a、b、c。 输出(Output): x1 x2实根(保留2位小数),且要求x1&amp;gt;=x2。 说明: (1)如果a为0且b为0,则输出 ...

    题目(Description):
    求一元二次方程ax2+bx+c=0的根。a、b、c为任意实数。
    输入(Input):
    任意三个系数a、b、c。
    输出(Output):
    x1 x2实根(保留2位小数),且要求x1>=x2。
    说明:
    (1)如果a为0且b为0,则输出 “Not an equation”(N大写,单词间一个空格)。
    (2)如果a为0,退化一次方程,则只输出一个根的值既可以。
    (3)如果a不为0,则按以下格式输出方程的根x1和x2(x1和x2之间有一个空格):
    * 若x1和x2为实根,则以x1>=x2输出。
    * 若方程是共轭复根,则x1=m+ni,x2=m-ni,其中n>0。
    其中x1、x2、m、n均保留2位小数。
    提示(Hint):
    (1)求平方根使用库函数sqrt(x),并需要 #include <math.h>
    (2)保留2位小数使用printf("%.2f", … )
    (3)输出i的方法如下:
    printf("%0.2lf+%0.2lfi %0.2lf-%0.2lfi", 实部, 虚部, 实部, 虚部);
    示例(Sample):
    输入(Input):
    1 2 3
    输出(Output):
    -1.00+1.41i -1.00-1.41i
    说明:-1.00+1.41i -1.00-1.41i 两个根中间有一个空格

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	double a,b,c,delta,x1,x2,m,n,i,j;
    	scanf("%lf%lf%lf",&a,&b,&c);
    
    	if (fabs(a) <= 1e-6){
    		if (fabs(b) <= 1e-6)
    			puts("Not an equation");
    		else
    			printf("%.2lf",-c/b);
    	}
    	else{
    		delta=b*b - 4*a*c;
    		m = -b / (2*a);
    		n = sqrt(fabs(delta)) / (2*fabs(a));
    		i = m + n;
    		j = m - n;
    
    		if (delta < 0)
    			printf("%.2lf+%.2lfi %.2lf-%.2lfi",m,n,m,n);
    		else {
     		       if (i == j)
     			    printf("%.2lf %.2lf",i,i);
      		       else {
     		               x1 = (i > j) ? i : j;
     			       x2 = (i > j) ? j : i;
     			       printf("%.2lf %.2lf", x1, x2);
      			    }
     	    }
    			return 0;
    }
    展开全文
  • C语言——一元二次方程的根(math头文件和goto语句) 实验要求: ** 判断a是否为零的函数; 计算判别式b2-4ac是否大于等于0的函数 求出该方程的解 ** #include<stdio.h> #include<math.h> //数学函数...

    C语言——一元二次方程的根(math头文件和goto语句)

    实验要求:

    **

    1. 判断a是否为零的函数;
    2. 计算判别式b2-4ac是否大于等于0的函数
    3. 求出该方程的解

    **

    #include<stdio.h>
    #include<math.h>  //数学函数头文件,如幂函数、三角函数、指数函数等。
    int main() {
    	A://定义标签
        int a, b, c,x1,x2;
    	long z;
    	printf("请输入你的方程系数\n");
    	printf("请输入你的方程系数a:");
    	scanf_s("%d", &a);
    	printf("请输入你的方程系数b:");
    	scanf_s("%d", &b);
    	printf("请输入你的方程系数c:");
    	scanf_s("%d", &c);
    	if (a==0)
    	{
    		printf("对不起,方程不成立。\n");
    		goto A;//跳转
    	}
    	else
    	{
    		z = b * b - 4 * a * c;
    		printf("%d\n", z);
    		if (z > 0)
    		{
    			x1 = (-b + sqrt(z)) / 2*a;
    			x2 = (-b - sqrt(z)) / 2 * a;
    			printf("方程有两近似根:x1=%d,x2=%d",x1,x2);	
    		}
    		else if (z == 0)
    		{
    			x1 = -b / 2 * a;
    			printf("方程有一个近似根:x1=%d",x1);
    		}
    		else if (z < 0)
    		{
    			printf("方程没有根");
    		}
    	}
    	return 0;
    	}
    

    **

    结果分析

    **
    首先定义三个系数a,b,c,和两个根x1,x2.键盘输入数据,对a经行判断,利用if和goto语句判断和跳转。然后计算 b * b - 4 * a * c;对它进行判断,利用函数sqrt经行根式运算。

    知识点

    1.#include<math.h> :math库,实际上就是一个头文件,里面是一些已经写好的代码,形式上是一个个的函数,包含进来以后就可以使用里面的各种数学函数,如幂函数、三角函数、指数函数等。
    2.goto语句也称为无条件转移语句
    一般格式:
    A:(定义标签)
    代码快~~~~~
    goto A;(跳转至A)
    注意:在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

    展开全文
  • 数学基础:一元二次方程只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。标准形式为:ax²+bx+c=0(a≠0)。求解公式:求公式法用求公式法解一元二次方程的一般步骤为...
        

    数学基础:一元二次方程

    只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。标准形式为:ax²+bx+c=0(a≠0)

    求解公式:求根公式法

    用求根公式法解一元二次方程的一般步骤为:

    ①把方程化成一般形式

    0?wx_fmt=jpeg

    ,确定a,b,c的值(注意符号);

    ②求出判别式

    0?wx_fmt=jpeg

    的值,判断根的情况;

    ③在

    0?wx_fmt=jpeg

    (注:此处△读“德尔塔”)的前提下,把a、b、c的值代入公式

    0?wx_fmt=jpeg

    进行计算,求出方程的根。

    于是得到C语言题的解法一:

    0?wx_fmt=jpeg

    这样的做法,很简单,我想学过C语言,稍微用点力 应该就是没有问题的。

    惊奇的是小编想输入x^2+2x+1=0 的方式去做,意思是直接输入这样一个字符串的方式去求解,然后瞬间很多人直接懵逼了吧! 即运行结果需如下:

    0?wx_fmt=jpeg

    或者

    0?wx_fmt=jpeg

    这,是不是有点意思,有点难度?

    0?wx_fmt=jpeg

    惊奇解法

    首先求根方式不变: 用函数进行封装

    0?wx_fmt=jpeg

    从上可以看出获取 a,b,c 才是关键,把问题转换为字符串处理

    于是就有这样一个函数:int finStringA(char *str, int length, char *posStr,int posLength)

    char *str: 被查询的字符串 int length:该字符串长度

    char *posStr:目的字符串 int posLength:,目的字符串的长度

    作用:查询x或者x^2 出现的位置,并返回

    0?wx_fmt=jpeg

    查找到相应字符串后,还需要返回a ,b, c等字符串于是有这样一个函数:

    本来想用截函数,懒得查找前一个位置,就自己写了个截取函数

    void getCharABC(char *str, int length,int Pos,char *posStr,int& flag)

    char *str:原字符串 int length:原字符串长度 int Pos :指定位置

    char *posStr: 存储a,b,c int& flag:正负标记,(后面发现存在这样一个bug)

    0?wx_fmt=jpeg


    经过上面的函数处理后貌似得到的a和b以及c字符串是逆序的,所以又写了个逆转字符串函数

    0?wx_fmt=jpeg

    0?wx_fmt=jpeg

    总结:

    0?wx_fmt=jpeg

    0?wx_fmt=gif

    一个简单的题,基本上把字符串中的的很多函数都用上了,即提高了自己的能力,也复习了相关知识。
    希望初学者对此有一个更加深刻一点的认识,不要拘泥于语法的限制,编程语言服务于编程思想。学到了真正的编程思想,才叫货真价实的懂编程。
    不能为了做题而做题,要多思考,多变

    0?wx_fmt=jpeg


    展开全文
  • python计算一元二次方程的根

    万次阅读 2019-06-07 11:35:16
    python计算一元二次方程的根 小编也是一个小白,,只因突然想起写个求解方程,所以写了一个求解一元二次方程的代码。 发现使用python写求解方程要比c语言简单。。但是学艺不精,,勿喷 以下代码能够实现有解的...
  • 根据下面给出的求公式,计算并输出一元二次方程的两个实,要求精确到小数点后4位。其中a,b,c的值由用户从键盘输入。如果用户输入的系数不满足求实的要求,输出错误提示"error!"。程序中所有的数据类型均为...
  • 题目: 有一方程ax^2+bx+c=0,a,b,c的值由键盘输入,输出方程的根。#define _CRT_SECURE_NO_WARNINGS #include #include #include #define DELTA b*b -4*a*c int main() { double a, b, c; printf("请
  • 一元二次方程的两个实数 #include <stdio.h> #include <math.h>//包含 sqrt()函数,求平方根 int main() { double a,b,c,disc,x1,x2,p,q;//定义为double类型,满足计算精度要求 printf("Please ...
  • 在框图程序中,如果涉及到了复杂数学运算,框图程序连线将会十分繁琐复杂,而且不直观,调试、改错也不是太方便,这时候,就可以用LabVIEW中提供公式节点函数实现相应的计算功能了,其位于函数面板“编程”-...
  • 根据下面给出的求公式,计算并输出一元二次方程的两个实,要求精确到小数点后4位。程序中所有浮点数的数据类型均为float. #include <stdio.h> #include <stdlib.h> #include <math.h> ...
  • 本关任务:根据下面给出公式,计算并输出一元二次方程ax2+bx+c=0两个实,要求精确到小数点后4位。其中a,b,c值由用户从键盘输入。如果用户输入系数不满足求实根的要求,输出错误提示 “error!“。 ...
  • C语言一元二次方程

    千次阅读 2018-10-12 14:58:40
    如果a的值足够小,接近于0,则输出不是二次方程的信息,并终止执行否则执行下一步 计算判别式△ 计算p和q的值 p=-b/2*a q=根号下△/2a 如果△的值足够小计算并输出两个相等的实 如果为正计算并输出两个不等实X1=p+q...
  • //方程的系数 int a, b, c; //△和方程的解 double delta, x1, x2; printf("请输入方程组的系数:"); scanf("%d%d%d", &a, &b, &c); //计算△ delta = pow(b, 2) - 4 * a * c; //方程有两不...
  • 一元二次方程的根

    2021-01-17 12:48:55
    c语言实现求一元二次方程的根 从键盘上任意输入 a,b,c 的值,编程计算并输出一元二次方程 ax2+bx+c=0 的根 当 a=0 时,输出“Not quadratic equation with one unknown!”; 当 a≠0 时,分 b2-4ac>0 ,b2-4ac=0 ...
  • 编写一个C语言程序,计算一元二次方程ax^2+bx+c=0的实数。要求从键盘输入a,b和c,然后再输出解方程的结果。 代码如下: #include<stdio.h> #include<math.h> void main() { float a,b,c,d; printf(...
  • 换言之,学好一元二次方程的内容将会给初中数学最重要最难的二次函数部分打下坚实的基础。同时一元二次方程将会出现在相似三角形,圆,二次函数等重要章节的计算部分。考点类型一 概念(1)定义:①只含有一个未知数...
  • 解一元二次方程ax2+bx+c=0解。保证有解 Input a,b,c值。 Output 两个X1和X2,其中X1>=X2。 结果保留两位小数。 Sample Input 1 5 -2 Sample Output 0.37 -5.37 Hint 提示:计算过程中,分母是(2*a) ...
  • 序言其实开发一款计算器很简单,当然也是很多C语言小白必练手一个项目,小编今天介绍项目就是教你利用C语言开发一款简单计算器,非常适合新手小白哦~项目名称:【C语言制作简单计算器】项目简介:项目用C语言...
  • C语言考试练习题 一元二次方程 模拟 / 数论 空间限制:16MB时间限制:1s总提交数:2167通过率:48.73%题目来源: 站点添加 解一元二次方程 a*x^2 + b * x + c = 0 解。 a,b,c值。 两个 X1 和 X2,其中 X1 >=...
  • 供初学者练习和参考使用,代码直接可以运行,这里我就不贴出结果截图了,可以自己运行看看。 1.分别求出个十百位数字 #include<... //非个位数为45,45减去最高位10倍就是该位 z=a%10; print...
  • 从键盘任意输入a,b,c的值,编程计算并输出一元二次方程ax2+bx+c=0的根,当a=0时,输出“该方程不是一元二次方程”,当a≠0时,分b2−4ac>0、b2−4ac=0、b2−4ac<0三种情况计算并输出方程的根。 **输入格式...
  • C++ 实例 - 求一元二次方程的根 实现方法相当简单 就是最基础的C语言程序 以下是菜鸟教程给的答案—— #include <iostream> #include <cmath> using namespace std; int main() { float a, b, c, ...
  • 在框图程序中,如果涉及到了复杂数学运算,框图程序连线将会十分繁琐复杂,而且不直观,调试、改错也不是太方便,这时候,就可以用LabVIEW中提供公式节点函数实现相应的计算功能了,其位于函数面板“编程”-...
  •  ... 烟台大学计算机与控制学院 All ringts reserved.... 文件名称:OJ总结-求三角形面积-gyy ... 求一元二次方程ax2+bx+c=0的解。a,b,c为任意实数。 输入数据有一行,包括a b c的值。按以下格式输出方 程的根x1和x
  • 我们可以看到,相比于二次方程,三次方程求公式表达式要复杂多,包含了一个二重根号,计算量庞大,而且大多数情况下会出现一对复数解,C语言不太好操作;在判别式小于0时,即使三个解都是实数,我们仍然需要对一...

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

c语言计算一元二次方程的根

c语言 订阅