C语言程序设计——控制结构(顺序)

栏目: C · 发布时间: 7年前

内容简介:问题:输入三角形的边长a、b、c,求三角形面积area,并输出。– 思考题:–1.代码中的语句可以交换顺序吗?

C语言程序设计——控制结构

    • (1)已知三边,计算三角形面积
    • (2)求圆的周长l和面积S

1. 顺序程序设计

(1)已知三边,计算三角形面积

问题:输入三角形的边长a、b、c,求三角形面积area,并输出。

/*
*	功能:计算三角形面积
*   条件:知道三个边a、b、c的长
*   模型:area=sqrt(s*(s-a)*(s-b)*(s-c));
*         s = (a + b + c)/5
*/
#include <stdio.h>
#include <math.h>
void main()
{
	float a,b,c,s,area;
	printf("请输入三个边:");
	scanf("%f%f%f",&a,&b,&c);

	s = (a+b+c)/2;
	area = sqrt(s * (s-a) * (s-b) * (s-c));

	printf("a=%7.2f,b=%7.2f,c=%7.2f\n",a,b,c);
	printf("area = %8.3f\n",area);
}

– 思考题:–

1.代码中的语句可以交换顺序吗?

2.哪些交换不影响程序执行?

3.哪些会影响执行结果?

4.哪些又会引起错误?

(2)求圆的周长l和面积S

问题:输入圆的半径r,计算圆的周长和面积,并输出(精度为两位小数)。

/**
*	功能:已知圆的半径,求圆面积和周长
*/

#include <stdio.h>
#define PI 3.14159
void main()
{
	double r,l,s;

	printf("请输入圆的半径r=");
	scanf("%lf",&r);

	l = 2 * PI * r;
	s = PI * r * r;

	printf("圆周长为:l=%.2f\n",l);
	printf("圆面积为:s=%.2f\n",s);
}

-思考-

1.l和s的计算,两个语句可以交换顺序吗?

2. printf(“请输入圆的半径r=”);

scanf("%lf",&r);,这两个语句若交换,会出现情况?

(3)鸡兔同笼问题

问题:已知鸡兔同笼头数n,脚数m,请计算并输出有鸡和兔各几只。

/*
*	功能:鸡兔同笼
*   模型:鸡x只,兔y只。头n,脚m
*         x+y=n;2x+4y=m
*   ----> x = 2*n - m/2;
*   ----> y = m/2 - n;   
*/

#include <stdio.h>
void main()
{
	int x,y,m,n;

	printf("请输入鸡兔同笼的头数n和脚数m:");
	scanf("%d%d",&n,&m);

	x = 2*n - m/2;
	y = m/2 - n;

	printf("鸡有%d只。\n",x);
	printf("兔有%d只。\n",y);
}

思考

  1. n和m的值,能输入任意整数吗?有什么要求?
  2. 求得的x和y必须为整数,不能有舍去小数问题,对不对?

以上所述就是小编给大家介绍的《C语言程序设计——控制结构(顺序)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Effective C++

Effective C++

[美]Scott Meyers / 侯捷 / 电子工业出版社 / 2006-7 / 58.00元

《Effective C++:改善程序与设计的55个具体做法》(中文版)(第3版)一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)......一起来看看 《Effective C++》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具