最近在学习C语言的时候遇到了一个问题,我要求一个二元一次方程,
if (delta > 0) //这里多了一个分号 ; {//......} else if (delta == 0) //这里多了一个分号 ;{ x1 = -b / 2 * a; x2 = x1; printf("该一元二次方程只有一个解,x1 = x2 = %f
",x1); // ,x2);} else //还是分号 ;{ printf("无解");}
# include
# include
int main(void)
{
//把三个系数保存到计算机中
int a = 1;
int b = 2;
int c = 3;
double delta;
double x1;
double x2;
delta = b*b - 4*a*c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);//这个是引号
printf("该一元二次方程有两个解,xi = %f,x2 = %f
",x1, x2);
}
else if (delta == 0)
{
x1 = (-b) / (2*a);
x2 = x1;//这个是引号
printf("该一元二次方程有两个相同解,x1 = x2 = %f
",x1, x2);
}
else
{
printf("无解
");
}
return 0;
}
倒数第二行getch()改为:getchar()
我已经用Microso visual C++运行过了,改过之后就正确了。
此外我这还有一个求根的c语言程序,是把s<0时的情况,考虑进来。此时结果为复根,你也可以看看。程序如下:
#include<stdio.h>
#include<math.h>
float x1,x2,p,q,d;
void great(float,float);
void equal(float,float);
void small(float,float);
main()
{
float a,b,c;
printf("Enter a,b,c:");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d>0)
{
great(a,b);
printf("x1=%5.2f,x2=%5.2f",x1,x2);
}
else if(d==0)
{
equal(a,b);
printf("x1=x2=%5.2f",x1);
}
else if(d<0)
{
small(a,b);
printf("x1=%5.2f+%5.2f",p,q);
printf("x2=%5.2f-%5.2f",p,q);
}
return 0;
}
void great(float x,float y)
{
x1=(-y+sqrt(d))/(2*x);
x2=(-y-sqrt(d))/(2*x);
return ;
}
void equal(float x,float y)
{
x1=-y/(2*x);
return ;
}
void small(float x,float y)
{
p=-y/(2*x);
q=sqrt(-d)/(2*x);
return ;
}
#include "stdio.h"
#include "math.h"
void main()
{
float a,b,c,x1,x2,s;
printf("请您输入变量a的值:");
scanf("%f",&a);
if(a==0)
{
printf("对不起您输入的不正确,a≠0");
return;
}
else
{
printf("请您输入b的值:");
scanf("%f",&b);
printf("请您输入c的值:");
scanf("%f",&c);
s=b*b-4*a*c;
if(s<0)
{
printf("此方程无解!");
}
else
{
if(s==0)
{
printf("此方程有一解。");
x1=(-b)/(2*a);
printf("x1=%f\n",x1);
}
else
{
printf("此方程有两个根。");
x1=(-b+sqrt(s))/(2*a);
x2=(-b-sqrt(s))/(2*a);
printf("x1=%g\nx2=%g\n",x1,x2);
}
}
}
getchar();
}
改好了~测试通过~~你看看满不满意~
深入学习C语言的具体步骤
现在才开始讲学习顺序,虽然你说不要推荐书,不过我还是要用书来做顺序。C语言是可以写很多核心和高级的东西,而不只是小东西,但是从你代码来看,居然用到了 goto,我不是说你那些程序用到GOTO有什么不好,而是一定要避免用GOTO,goto是错误之源,如果你有什么内容非要用到goto才能写到,说明你的编码...
大一学习c语言快一学期了,准备在寒假里面好好再深度学习一下,可是不知...
回答:我认为没有人会同意我的观点,但我特别喜欢和人交谈,而且我是一个大的支付者。我的建议是只有一本书,这是谭浩强的C语言,甚至不记得书名。但是你会用循环,指针,数组,函数来做很多问题。一定要自己做,自己做。做你自己。如果我能做到,我认为你的C语言是完美的。这是性能的阶段,当你考虑一个稍微...
怎么自学c语言,需要怎么学习?
4.必须要及时复习,因为C语言的知识点凌乱而复杂,如果不复习,基本回到原点。因此学习C语言必须要坚持下去,才能熟能生巧。当大家不想动手时,可以看网课,跟着老师的思维走,不断巩固知识点,不断提醒自己语言注意的细节。5.在编程过程中,出现报错情况时,需要运用所学知识进行纠错。建议大家可以跟同学...
学习C语言有什么用处?
学习C语言 在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了,这一方面我感觉是我们同学最欠缺,大多学不好的就是因为一开始遇到困难就放弃,曾经和好多同学谈他的...
学习C语言 必看的书籍
这是迄今为止在所有程序设计语言书籍中最广受尊敬的一部经典,是任何一名C程序员的必读之作。因为出自C语言的设计者Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan之手,它被昵称为“K&R C”。是它首先引入了“Hello World!”程序,这个程序几乎成了后来任何一本入门性程序设计语言书籍中的第一个例子。 如...
现在学编程有前途吗?
1、C语言。对于刚接触编程的人来说,先学习C语言是非常重要的。C语言可以说是是计算机编程语言的鼻祖,其他的编程语言几乎全是由C语言变化衍生出来的。C语言虽然是一门面向过程的语言,但是其基础语法和其他编程语言是非常相同的。2、 HTML,CSS,JavaScript。这三门语言是前端学习的重要部分。这三者虽然...
C语言怎么学?
有人可能会说:学习还用你教啊,谁没上过学啊.其实我今天要说的只是,站在一个过来人的角度,来分析与解释学习C语言的过程中比较困难的地方.当然我个人也会对比较具体的问题进行解释(个人看法).我一直在强调个人看法,我是想让大家明白,对于同一个问题大家可能都很难达成统一的意见,希望批评的时候客气点就好喽!
C语言学不会怎么办?
🌞加强实践以及共享编码学习 🌞“实践出真知”在C语言学习中是非常有道理的。因此在学习的过程当中,有不断增加自己在电脑上训练、写题的机会,充分利用课后的时间进行编写程序以及程序调试,而且在碰到程序错误的时候,也可以坦然面对,不再焦心烂额。🌞此外,在学习C语言的过程...
自学计算机编程应该看些什么书
一:第一阶段 C语言---《C语言设计》 作者:谭浩强 大多数人都推荐谭浩强这本书,谭浩强的C语言程序设计,我觉得更适合当教科书,主要是篇幅没有那么大,书本的内容不是很全,由老师带入门是最好的。《C Primer Plus》第五版 作者:Stephen Prata 这本书比较厚,内容也比较基础,扩展的也比较广...
检讨书:c语言考前未复习
记得刚进入学校时,班主任老师和副班主任对我抱有很大的期望,学习还能接受,可在纪律方面却出现了问题,在学校三令五申的铁律下,在严明校纪校规的大环境下,...在这半月中,我每天还是按时就起床,想想我在学校也生活了近两年了。对学校已有很深的感情,在今后学校的我,会已新的面貌,出现在学校,不在给学校和年级...
俟狄肌氨: 1、注意使用的函数必须要将其头文件包含进来.2、例程也有拼写错误的地方3、抄写例程有可能抄写错误4、环境设置要正确才可以正确编译程序.
康马县15226083562: 我自学C语言可是现在遇到一个很大的难题啊!! - ?
俟狄肌氨: 1*2*3*4*5 int s=1; int i; for(i=1;i<5;i++) { s=s*i; } 这个就解决了.至于其他的,我也遇见过你同样的问题.我现在基本上已经解决这些问题了.可能当时我看不进去,心里很烦躁,很郁闷.这时候,我就适当休息,然后再第二次再来看,我会发...
康马县15226083562: C语言编程的时候遇见的一个小问题.本人新手.请帮助我?
俟狄肌氨: 字符串长度函数.for循环大括号后面是不是忘记了分号. 如果仅仅是去掉后面.那么找到第一个位置,直接赋值为0即可.
康马县15226083562: 学C语言过程中有个问题,希望高人指点一下?
俟狄肌氨: C语言很难,如果基础知识不够的话,学C语言很吃力,建议你先学基础知识,或者找个专门教C语言的会比较好.不会. 退一步讲,等后面再涉及到数据结构了,你可以再学这一部分. 个人感觉很难,本科以上的本专业才可能涉及比较深层次的东西.因为专科的老师太不是东西了...
康马县15226083562: 为什么网上下的C语言程序都不能正常使用我最近学习C语言,遇到一个 ?
俟狄肌氨: 不同的C编程器的C语言的规定有略微的区别,网上下的C语言程序是针对某一种C编译器编写的,可能与你使用的编译器不一致,你只要改动部分代码使之符合你使用的编译器的规定就可以编译通过,TC3.0已过时了,建议你使用最新编译器,这些编译器支持C语言的最新标准,如DEV-C++,CodeBlocks,VC++ 2008速成版,这些都可免费使用.
康马县15226083562: c语言加花括号的原则 - ?
俟狄肌氨: 加花括号是为了结构清晰,程序易读 这是编程序的原则 一个函数体需要一对花括号把自身的循环体语句括起来 例如你在main()里面调用一个函数,调用的循环体语句就需要花括号 for(),if()while()等语句后的循环体也可以不加,程序也能正常运...
康马县15226083562: 一个学习C语言时遇到的问题. - ?
俟狄肌氨: 首先你要明白这样一个知识点:就是运算符两边的数如果一个是整型,一个是浮点形,那么其值为浮点型,这是系统自动转换的.如:5.0/9其中5.0是浮点型,9是整型,系统会自动将9转换成浮点型,所以其值为0.555555,如果是5/9因为5和9...
康马县15226083562: 小白刚学c语言的一个问题 - ?
俟狄肌氨: 这是因为,C语言必须编译成功,生成.exe可执行文件后才可以执行的.而C编译程序首先要检查程序是否符合C语言的规范(如花括号必须配对,每个语句必须要以分号结束,等等) 如果 不符合以上的基本要求,源程序就不能通过编译,也就不能生成.exe可执行文件,程序就不能执行了.
康马县15226083562: 初学C语言遇到1个问题真心请教谢谢?
俟狄肌氨: 两个问题1.输入时,不用.1的2.对double的输入/输出,要用%lf而非%f(后者是对float的)另外格式上要稍调剂下,改好的#includestdio.hvoidmain(){doublemath,eng,comp,ave;//定义变量intnum;printf(请按以下格式输入相干信息学号,数学成绩...
康马县15226083562: 请教一个C语言很基础的问题??
俟狄肌氨: 简单的说,C语言源代码文件(.c),经过编译,生成目标文件(.obj),然后经过链接,也就是和其他目标文件(如果有的话)和所包含的头文件链接,生成可执行文件(.exe) EXE程序文件,上面的.EXE文件打开后马上又没有了. 这个,只要在您的源代码文件(.c)执行结束之前的地方,加一句 system("pause") 或者 getchar() 就可以暂停,以便观察结果..或者也可以用 getch(),这个需要引用头文件 conio.h