重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一下就是一个完整的程序,其中/*......*/是注释功能的,在/*......*/中,c语言不会编译,所以我把语言的解释全都写在了注释中,方便你理解,一段一段读懂之后再把注释去掉,就能连贯的了解这个程序在写什么了!
成都网站建设哪家好,找成都创新互联公司!专注于网页设计、重庆网站建设、微信开发、微信平台小程序开发、集团成都定制网站等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都石凉亭等众多领域,积累了大量丰富的经验,同时也获得了客户的一致称赞!
#include "stdio.h"
/*引入C语言的主函数程序文件*/
#include "math.h"
/*引入C语言的数学函数程序文件*/
/*求一元二次方程ax*x+bx+c=0的解*/
main()
/*C语言的文件头*/
{
float a,b,c,x1,x2,d;
/*定义浮点型变量数据,变量名为a,b,c,x1,x2,d.变量还没有赋值*/
printf("请输入a:");
/*输出函数,控制台会显示引号中的文字,即:请输入请输入a:*/
scanf("%f",a);
/*输入函数,控制台会等待你输入数字,以下的同理,自己理解一下吧*/
printf("请输入b:");
scanf("%f",b);
printf("请输入c:");
scanf("%f",c);
d=b*b-4*a*c;
/*这个是一元二次方程求解的部分了,建议你如果不懂一元二次方程,先上百度查查一元二次方程到底是怎么回事,我在这里简单说说,求一元二次方程y=ax²+bx+c,先要判断b²-4ac是否大于等于0,如果小于0,这个方程是没有实数解的(虚数一般不用考虑),*/
/*因为b²-4ac在之后的解题过程经常出现,所以程序员定义了一个d,使其等于b²-4ac,这样就方便之后的计算了*/
if(d 0)
/*条件判断语句,如果d=b²-4ac0,这里在控制台直接输出"方程没有实数解"这段文字*/
printf("方程没有实数解。\n");
if (d==0)
/*条件判断语句,如果d=b²-4ac=0,if语句就是条件判断语句,下面还有一个就不再啰嗦了*/
{
x1=(-b)/(2*a);
printf("x1=%f\n",x1);
/*对于一元二次方程,如果d=b²-4ac=0,那么这个方程中的x只有一个解,这个解等于(-b)/(2*a),上面程序最终计算出x1,并在控制台上输出x1的值.*/
}
if (d0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f\n",x1,x2);}
/*如果d=b²-4ac0,那么计算公式如上,最后输出了,x1和x2的值,其中sqrt是平方根函数,求d的平方根*/
}
这个程序非常好理解,而且对于c语言的入门非常好用,但是前提必须对一元二次方程理解,我不知道你什么水平,所以描述的比较繁琐详细,如有不懂可以再问,我也是c语言的菜鸟,简单的问题还是能解决的
sqrt函数是数学函数。要用# include math.h
最后一个if语句少了条件判断。
两种方法:
一、定义求根公式,根据a、b、c的值计算结果。
二、暴力枚举,每隔 0.001 取一个值,当abs(f(x)-0) 0.00001 时视为得出结果。
c语言一元二次方程编程是#include iostream 。#include cmath。using namespace std。int main()。{float a,b,c;float x1,x2; cinabc;float dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接开平方的方法解一元二次方程.如果方程化成x²=p的形式,那么可得x=±p;(x²=p,x=±根号p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。
简洁的语言:
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。