《C语言程序设计》一1.4 案例学习——计算三角形的面积

简介: 本节书摘来自华章出版社《C语言程序设计》一 书中的第1章,第1.4节,作者:赵宏 陈旭东 马迪芳,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 案例学习——计算三角形的面积

本节应用结构化程序设计方法根据如下需求进行分析和设计:
根据公式area=计算三角形的面积,其中a、b、c为三角形的三边,s=(a+b+c)/2为三角形半周长。编写程序,用以上信息计算边长为3、4、5的三角形面积。
1.问题分析
这一步主要是确认我们对需求有一个完整的理解。
1)确定预期的输出。为了确定预期的输出,应该首先在需求中查找计算、打印等关键词,在上面的需求中,关键的一句话为“计算边长为3、4、5的三角形面积”,这明确了输出项为三角形的面积。
2)确定输入项。明确输出项后,就要确定所有的输入项了。首先要区分输入项和输入值,输入项是输入的量的名字,而输入值是输入项的一个具体的值。例如,本需求中,输入项是三角形的边长。在这一阶段,只需要确定输入项,输入值是不重要的,因为输入项与输出项的关系和输入的具体值没有关系。
3)列出输入与输出关系的公式。这一步要确定如何根据输入项计算输出项,本例中首先根据已知的公式s=(a+b+c)/2计算三角形半周长,再计算三角形面积area=,这里a、b、c是输入项,area是输出项。
4)进行手工计算。这一步要进行手工计算,即用指定的输入值检查公式的正确性,帮助你确认是否真正理解了问题,另外也用于在测试阶段对程序进行验证。本例中三角形面积为6。
2.算法设计
一般的一级算法为:

输入数据
计算结果
显示结果

本例中采用的算法对第二步进行细分,得到二级算法:

设三角形三边a、b、c的值为3、4、5
用公式s=(a+b+c)/2计算s
用公式area=计算面积
显示面积值

3.代码编写
有了算法以后,就可以编写代码了。本例中只用到了顺序结构,其中每个语句都是严格按照顺序执行的。其中第7行定义了程序中要用到的名字a、b、c、s和area,第8~10行给三角形三边赋值为3、4、5,第11行计算s值,第12行计算三角形面积,第13行用来输出面积。

1  /*程序名:prg1-3.c*/
2  /*功能:给定三角形三边,计算三角形面积*/
3   #include<stdio.h>
4   #include<math.h>
5   int main()
6  {
7     float a,b,c,s,area;
8     a = 3;
9     b = 4;
10    c = 5;
11    s = (a + b + c)/ 2;
12    area = sqrt(s * (s - a)* (s - b)* (s - c));
13    printf("The area of triangle is %f",area);
14   }

4.测试与调试
对该程序进行编译、连接和运行,程序运行结果为:

The area of triangle is 6.000000

本程序只有一个输出结果,与第一步问题分析中的手工计算结果进行对比,得到所预期的结果。因此可以使用该程序计算不同边长的三角形的面积。
上机实验1——熟悉C语言编程环境
【实验目的】
熟练地使用C编译系统或集成开发环境,了解基本方法和基本操作,了解在该系统中运行一个简单程序的基本步骤。
【实验内容】
1.在屏幕上输出一个短句“This is my first program in C.”。
2.对本章给出的C程序例子,做出源程序文件,对源程序进行编译和连接,运行该程序。
实验步骤与要求:
1.在磁盘上新建一个文件夹,用于存放C程序。
2.输入以上两个程序,将源程序文件存盘,对源程序进行编译和连接,运行该程序。
【问题讨论】 
总结实验中在编辑、编译、连接、运行等各环节所出现的问题及解决的方法。
习题1
1.1 解释以下术语的含义:计算机语言、计算机程序;源程序、目标程序;编译、编译程序;

     过程化语言、非过程化语言。

1.2 程序设计分为几个步骤?
1.3 什么叫“算法”?什么叫“计算机算法”?请举出5个计算机算法的例子。
1.4 用自顶向下、逐步求精的方法写出算法:
(1)求一元二次方程ax2+bx+c=0的根,分别考虑d=b2-4ac大于0、等于0和小于0三种情况。
(2)输入奖金数a,计算并输出税率、应缴税款和实得奖金数。奖金和税率的关系如下:

奖金 税率
a<500 0.00
500≤a<1000 0.05
1000≤a<2000 0.08

相关文章
|
存储 算法 安全
C 语言中的位运算:挖掘底层计算的高效力量
位运算是C语言中直接操作二进制位的一种技术,能高效处理底层数据,广泛应用于优化算法、硬件编程等领域,是掌握C语言高级特性的关键之一。
|
存储 算法 C语言
C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项
本文深入探讨了C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项,并通过案例分析展示了实际应用,旨在帮助读者提高编程效率和代码质量。
802 4
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
142 0
|
编译器 C语言
C语言函数的学习
掌握函数的使用是学习C语言的关键一环,理解和应用这些基本的函数概念将使你能够更有效地利用C语言的强大功能。
168 0
|
C语言
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
|
C语言
《C语言程序设计》一 第 1 章 程序设计概述
本节书摘来自华章出版社《C语言程序设计》一 书中的第1章,第1.1节,作者:赵宏 陈旭东 马迪芳,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1310 0
|
C语言
《C语言程序设计与实践(第2版)》——第1章 C语言与程序设计概述 1.1初见C语言程序
我国古代数学家张邱建在其编写的《算经》里提出了历史上著名的“百钱买百鸡”问题:今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱买鸡百只,问鸡翁、母、雏各几何?对于这个问题,很多读者在小学或初中的竞赛中可能都见到过,而且通常都采用不定方程求解。
1282 0
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
784 23
|
6月前
|
存储 C语言
`scanf`是C语言中用于按格式读取标准输入的函数
`scanf`是C语言中用于按格式读取标准输入的函数,通过格式字符串解析输入并存入指定变量。需注意输入格式严格匹配,并建议检查返回值以确保读取成功,提升程序健壮性。
1172 0