示例:编写能够打印华氏-摄氏温度转换表的程序

假设您要编写一个能够打印华氏-摄氏温度转换表的程序。可以使用for或者while循环可以轻松实现:

#include int main()

{int a;a=0;while (a <=100)

{printf("%4d华氏度=%4d摄氏度\n",a,(a -32.0)*5.0/9.0);a =a+10;}

return 0;}

该程序运行后将打印从华氏0度到华氏100度的转换表。输出如下:

0华氏度=-17摄氏度

10华氏度=-12摄氏度

20华氏度=-6摄氏度

30华氏度=-1摄氏度

40华氏度=4摄氏度

50华氏度=10摄氏度

60华氏度=15摄氏度

70华氏度=21摄氏度

80华氏度=26摄氏度

90华氏度=32摄氏度

100华氏度=37摄氏度

上表中温度值以10度为间隔递增。您会发现通过程序改变表中温度的起始值、结束值和递增值都很容易。

如果想让温度值更加精确的话,您可以改用浮点数值:

#include int main()

{float a;a = 0;while (a <= 100)

{printf("%6.2f 华氏度 = %6.2f 摄氏度\n",a, (a - 32.0) * 5.0 / 9.0);a = a + 10;}

return 0;}

如上例所示,a的声明改用float,而且在printf语句中用符号%f代替了符号%d。此外,还在符号%f前规定了一些格式:打印数值时使用6位整数和2位小数。

现在我们要修改程序,使它在适当的位置插入98.6度。即,我们还是每隔10度打印,但是要增加一行98.6华氏度,因为它是人体的正常体温。下面的程序会满足我们的要求:

#include

int main()

{float a;a = 0;while (a <= 100)

{if (a > 98.6)

{printf("%6.2f 华氏度 = %6.2f 摄氏度\n",98.6, (98.6 - 32.0) * 5.0 / 9.0);}

printf("%6.2f 华氏度 = %6.2f 摄氏度\n",a, (a - 32.0) * 5.0 / 9.0);

a = a + 10;}return 0;}

结束值是100时,上面的程序可以正常工作。但如果将结束值变成200,您就会发现程序的一处错误:打印了太多次98.6度。我们可以用多种方法改正这个错误。下面是其中之一:

#include

int main()

{float a, b;a = 0;b = -1;while (a <= 100)

{if ((a > 98.6) && (b < 98.6))

{printf("%6.2f 华氏度 = %6.2f 摄氏度\n",98.6, (98.6 - 32.0) * 5.0 / 9.0);

}printf("%6.2f 华氏度 = %6.2f 摄氏度\n",a, (a - 32.0) * 5.0 / 9.0);b = a;a = a + 10;}

return 0;}

动手一试

尝试修改华氏-摄氏度转换程序,以使该程序使用scanf接受用户输入,作为结果输出表格的起始、结束和增量值。

为表格制作表头。

试用另一种方法解决上例的程序改正的错误。

制作一个英镑-千克或英里-公里的转换表。

C 常见错误

在if或while语句中错用=代替==。

忘记在while循环中增加计数器的值——这会导致无限循环(永不结束的循环)。

不留神在for循环或if语句末尾加上了分号,使语句起不了作用。例如:

for (x=1; x<10; x++);

printf("%d\n",x);

只打印出一个值,因为for

java输出华氏摄氏温度转换表_C语言入门教程-示例:编写能够打印华氏-摄氏温度转换表的程序...相关推荐

  1. c语言判断闰年_C语言入门教程(五)分支语句

    最近几天有点小事情给耽误了,不过有时间我一定会坚持把C语言的教程写完!!!加油~~ 1.if else 分支语句可以从几组语句中选择一组执行 if关键字可以用来编写分支语句 if分支使用一个布尔值决定 ...

  2. c++运算符优先级_C语言入门教程-(6)运算符

    1.运算符概述 运算符是一种编译器执行特定的数学或逻辑操作的符号.C语言提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 条件运算符 其他运算符 2.算术运算符 算术 ...

  3. c语言x的n次方怎么写_C语言入门教程(三)进制与操作符

    Hello,小伙伴们大家好,今天开始进入C语言第三课时的学习.进入今天正式内容之前呢,先来看一下上次课程中的留下的一道练习题. 练习: 1.编写程序计算半径为任意浮点数的圆周长并把结果打印在屏幕上 1 ...

  4. c语言随机生成整数存放一维数组_C语言入门教程(十)多维数组

    作业: 1.编写程序从键盘得到一个非负数,统计出每个数字在各数位上出现的次数并把结果打印在屏幕上 一.变长数组 C99规范中允许使用变长数组 声明变长数组时可以使用变量表示存储区个数 如果多次运行这个 ...

  5. 循环判定闰年的程序_C语言入门教程(六)for循环

    大家好,废话不多说.直接进入主题,先来看一下上一节课的练习题及作业. 练习: 1.编写程序判断一个用户给定的年份是不是闰年 如果年份数字可以被4整除但是不能被100整除则它是闰年 如果年份数字可以被4 ...

  6. java编程输出平行四边形_JAVA语言入门教程之打印图形实例——打印平行四边形...

    本文主要向大家介绍了JAVA语言入门教程之打印图形实例--打印平行四边形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 输出平行四边形: public class Parallelo ...

  7. java语言打印图形_JAVA语言入门教程之打印图形实例——打印矩形

    本文主要向大家介绍了JAVA语言入门教程之打印图形实例--打印矩形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 输出矩形: public class Rect { public s ...

  8. 500+门java,python,js等常用语言入门,学习,实战,项目资料领取

    500+门java,python,js等常用语言入门,学习,实战,项目资料,提升自己

  9. 小白都能看懂的C语言入门教程

    文章目录 C语言入门教程 1. 第一个C语言程序HelloWorld 2. C语言的数据类型 3. 常量变量的使用 4. 自定义标识符#define 5. 枚举的使用 6. 字符串和转义字符 7. 判 ...

最新文章

  1. 3层-CNN卷积神经网络预测MNIST数字
  2. java的classpath是什么_JAVA初学者classpath设置情况是什么?
  3. Apache(1)——安装
  4. JavaScript、Ajax与jQuery的关系
  5. 一主两从的环境,如果主库挂了,如何选举一个从库作为主库?
  6. c语言中如何用程序判断double型的浮点数能精确到几位小数,C语言中浮点数double/float相等判断...
  7. 使用RabbitMQ实现延迟任务
  8. verilog实现多周期处理器之——(一)基本概念以及总体框架
  9. indesign里怎么打根号_三相电是如何产生的?怎么接线?
  10. 安装mysql8.0.11
  11. 小腿抽筋了,按摩承山穴,外加念观世音菩萨是不是迷信
  12. 求方差FPGA的实现方法
  13. python爬取豆瓣读书_爬取豆瓣读书.py
  14. xftp无法显示远程文件夹
  15. Matlab矩阵和向量中的常用函数
  16. 什么是工业物联网网关?
  17. .hex 文件详解 stm32
  18. Android短彩信源码解析-短信发送流程(一)
  19. 项目进度表:可应用于各行业中的项目进度管控
  20. Apache Thrift 官网学习 一 基本概述与入门

热门文章

  1. 我想找份好工作之“避免入黑坑公司宝典”
  2. 如何用阿里iconfont,在伪元素选择器content:‘‘中添加文字标签
  3. 数据结构与算法一:时间频度和时间复杂度
  4. matlab文字转数据,将文本转换为数值 - MATLAB Simulink - MathWorks 中国
  5. 基于开源应用快速构建HTAP系统(2)-阿里云开发者社区
  6. 算数右移逻辑右移java的表示_java的算术右移()与逻辑右移()
  7. allegro 使用subdrawing
  8. 如何统计项目的代码行数
  9. Java 中的泛型是什么,它有什么作用?(十五)
  10. XGBoost调参笔记