龙空技术网

数据的输入输出举例

唯安是福 50

前言:

此刻兄弟们对“c语言输入一个式子输出结果”大致比较注重,朋友们都需要学习一些“c语言输入一个式子输出结果”的相关知识。那么小编在网络上网罗了一些对于“c语言输入一个式子输出结果””的相关文章,希望兄弟们能喜欢,大家快快来了解一下吧!

前面已经看到了利用printf函数进行数据输出的程序,现在再介绍一个包含输入和输出的程序。

例:求方程ax^2+bx+c=0的根。a、b、c由键盘输入,设b^2-4ac>0

解题思路:首先要知道求方程式的根的方法。有数学知识已知:如果b^2-4ac≥0,则一元二次方程有两个实根:

可以将上面的分式分为两项:

有了这些式子,只要知道a、b、c的值,就能顺利地求出方程的两个根。

剩下的问题就是输入a、b、c的值和输出根的值了。需要用scanf函数输入a、b、c的值,用printf函数输出两个实根的值。

编写程序:

#include<stdio.h>#include<math.h>int main(){  double a,b,c,disc,x1,x2,p,q;  scanf("%lf%lf%lf",&a,&b,&c);  disc=b*b-4*a*c;  p=-b/(2.0*a);  q=sqrt(disc)/(2.0*a);  x1=p+q;x2=p-q;  printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);  return 0;}

运行结果:

1 3 2

x1= -1.00

x2= -2.00

注意在输入数据时,1,3,2这3个数之间用空格分隔,最后按“回车”键。

程序分析:

(1)用scanf函数输入a、b、c的值,请注意在scanf函数中括号内变量a,b,c的前面要用地址符&,即&a,&b,&c。&a表示变量a在内存中的地址。该scanf函数表示从终端输入的3个数据分别送到地址为&a,&b,&c的存储单元,也就是赋值给变量a,b,c。双撇号内用%lf格式声明,表示输入的是双精度型实数。

(2)在scanf函数中,格式声明为“%lf%lf%lf”,连续3个“%lf”,要求输入3个实数。注意在程序运行时应怎样输入数据。从上面运行情况中可以看到输入“1 3 2”,两个数之间用空格分开,这是正确的,如果用其他符号会出错。输入的是整数,但由于指定用%lf格式输入,因此系统会先把这3个整数转换成实数1.0,3.0,2.0,然后赋值给变量a,b,c.

(3)在printf函数中,不是简单地用%lf格式声明,而是在格式符f的前面加了“7.2”,表示在输出x1和x2时,指定数据占7列,其中小数占2列。这样做的好处是:1.可以根据实际需要Laura输出小数的位数,因为并不是任何时候都需要6位小数的,例如价格只须2位小数即可,2.如果输出多个数据,各占一行,而用同一个格式声明,即使输出的数据整数部分值不同,但输出时上下行必然按小数点对齐,使输出数据整齐美观。

(4)在本例中假设给定的a,b,c的值满足b^2-4ac>0,所以程序不对此进行判断。在实际中,用所输入的a,b,c并不一定能求出两个实根。因此为稳妥起见,应在程序的开头检查b^2-4ac是否大于等于0.只有确认它大于等于0,才能用上述方法求方程的根。

搜索微信公众号【balayihuier】或扫描下方二维码关注微信公众号,资深软件工程师带你手把手撸代码,从此走上人生巅峰,迎娶白富美!

公众号《吧啦一会儿》,手把手带你撸代码

标签: #c语言输入一个式子输出结果