前面已经看到了利用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#includeint 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.2fx2=%7.2f",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++为什么空格无法输出_数据的输入输出举例相关推荐

  1. puts遇到空格无法输出_输入一句英文,只包含字母和空格,如何输出这句英文中.....-黑马程序员技术交流社区...

    //输入一句英文,只包含字母和空格,如何输出这句英文中的最长单词?再把每个单词的首字母转换成大写! #include #include int main(int argc, const char * ...

  2. python模拟声音输出_声音的输入输出

    # 声音的输入输出 在本章我们将学习如何读写WAV文件,如何利用声卡实时地进行声音的输入输出.标准的Python已经支持WAV文件的读写,而实时的声音输入输出需要安装pyAudio([http://p ...

  3. C++为什么空格无法输出_算法竞赛C++常用技巧——输入输出优化(防止TLE)

    cin.cout优化 在默认情况下,std::cin/std::cout 是极为迟缓的输入/输出方式,而 scanf/printf 比 std::cin/std::cout 快得多. 可是为什么会这样 ...

  4. C++为什么空格无法输出_那些C/C++程序员该具备的32个编程修养习惯!

    阅读本文可能需要较长时间. 1.版权和版本 好的程序员会给自己的每个函数,每个文件,都注上版权和版本. 对于C/C++的文件,文件头应该有类似这样的注释: /********************* ...

  5. python遍历data、并输出结果_获取python运行输出的数据并解析存为dataFrame实例

    在学习xg的 时候,想画学习曲线,但无奈没有没有这个 evals_result_ AttributeError: 'Booster' object has no attribute 'evals_re ...

  6. 输出空格隔开换行_【前端干货】CSS 的空格处理

    一空格规则 HTML 代码的空格通常会被浏览器忽略. <p>◡◡hello◡◡world◡◡</p> 上面是一行 HTML 代码,文字的前部.内部和后部各有两个空格.为了便于识 ...

  7. ahk写入excel单元格_输出excel数据到GUI 获取excel所有Sheet及字段 Autohotkey

    ;Thinkai@2015-10-25 Gui, Add, Tab, x0 y0 w800 h500 vtab Gui, Show, , 输出excel数据到GUI FileSelectFile, f ...

  8. python数据输出_python数据输出

    下面的是我的code, 但是最后的结果全部都是others,有哪位大神能帮忙看产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个表达式.这个函数传递表达式转换为一个字符串,如下结果 ...

  9. 数据科学的发展_数据科学的发展与发展

    数据科学的发展 There's perhaps nothing that sets the 21st century apart from others more than the concept o ...

最新文章

  1. 算符优先文法,中缀式求值,栈的典型应用
  2. python上海培训哪里比较好-python培训机构上海哪里好?
  3. 惯性制导精度是多少_我国东风41精度凭啥第一?激光陀螺仪不算啥,太空水漂才真厉害...
  4. Python_模块Module
  5. 推荐 | 微软SAR近邻协同过滤算法相关问题(三)
  6. ORB-SLAM 解读(六)ORB特征点构建BoW
  7. Cache基本原理之:结构
  8. Padavan设置无线中继
  9. halcon 纹理检测_halcon学习网
  10. 20162327WJH《程序设计与数据结构》课程总结
  11. 佳能2900打印机与win10不兼容_佳能LBP2900 64位驱动下载|佳能LBP2900打印机64位驱动支持Win10/Win7 下载_当游网...
  12. pythonlauncher是干什么用的_python launcher是什么
  13. php生成临时文件,php生成zip压缩文件的方法详解
  14. dismiss和remove_关于dismiss的用法,dismiss和fire的区别?
  15. 关于联想Y700,玩游戏闪屏
  16. 0到π/0到2π,sinⁿx、cosⁿx的定积分
  17. 青少年软件编程(202209)(C语言)(数据结构)等级考试(六级)试题及参考答案
  18. (转)MVS-OS390系统管理-第二章 大型服务器外存管理
  19. 3.矩阵乘法和逆矩阵
  20. 《有限与无限的游戏》

热门文章

  1. uint8_t uint16_t uint32_t uint64_t 解析
  2. 在CentOS 6.3/6.6 64bit上源码安装cmake 3.4.0
  3. ATS中的命令行工具解读
  4. sohu广告js代码调研
  5. 550种Blender风格化笔刷素材
  6. Linux 的内存管理工具和调优参数
  7. 什么是DCI? 它有什么用?
  8. Linux进程管理:进程状态和CPU平均负载
  9. 记一次shell脚本推后台stopped的问题
  10. Python的闭包和装饰器