首页 理论教育 C++语言中学版应用实例:鸡兔同笼问题、变量交换、随机数处理

C++语言中学版应用实例:鸡兔同笼问题、变量交换、随机数处理

时间:2023-08-13 理论教育 版权反馈
【摘要】:程序是用来解决实际问题的,要解决问题就必须有数据,所以实际上是数据处理的过程。下面通过一些实例进一步说明它们的应用。例3-3鸡兔同笼问题。分析:设鸡为click只,兔为rabbit只,则程序如下:运行结果:例3-4交换变量a和b的值。程序如下:运行结果:21例3-5随机产生一个三位自然数,找出其百位、十位、个位上的数字。

C++语言中学版应用实例:鸡兔同笼问题、变量交换、随机数处理

程序是用来解决实际问题的,要解决问题就必须有数据,所以实际上是数据处理的过程。这必然涉及数据的输入与输出、数据的传递等,因此,赋值语句、输入/输出语句是程序设计最基本最重要的语句。

下面通过一些实例进一步说明它们的应用。

例3-3 鸡兔同笼问题。已知鸡和兔的总数量是head,鸡兔腿的总数量为feet,求鸡和兔各多少只?

分析:设鸡为click只,兔为rabbit只,则

程序如下:

运行结果:

例3-4 交换变量a和b的值。

分析:编写程序时,经常要交换两个变量的值,交换的方法也很多,这里给出其中两种。

(1)先设定变量c作为中间变量,将a的值放入c,再将b的值放入a,最后将c的值放入b,就像交换一杯茶水和一杯白水一样。

程序如下:

输入:12↙

输出:a=2 b=1

(2)先求出a、b的和放入a中,再从a中减去b,其差放于b中,此时b中放的是原来a的值。最后再用a减b,差放于a中,此时a中存放的就是原来b的值。

程序如下:

运行结果:2 1

例3-5 随机产生一个三位自然数,找出其百位、十位、个位上的数字。

分析:要产生随机数,必须用随机函数。要产生一个三位自然数,可以用下式求得:

该式可产生100~999之间的随机整数。

假设三位数为x,百位、十位、个位的数字为a、b、c。

程序如下:

运行结果为:

C语言中的输入/输出函数,在C++中也可以使用,并且效率高、速度快。

1.scanf()函数(www.xing528.com)

scanf()函数是格式化输入函数,它从标准输入设备(键盘)读取数据。格式为:

(1)格式化字符串:以"%"开始,后跟一个或几个控制字符,用以确定输入内容格式。

(2)地址表是需要读入的所有变量的地址,而不是变量本身。

2.printf()函数

printf()函数是格式化输出函数,它向标准输出设备(屏幕)按格式输出数据。格式为:

其中,格式化字符串包括以下两部分内容。

(1)格式控制字符:以"%"开始,后跟一个或几个控制字符,用以确定输出内容格式。

(2)正常字符:按原样输出,用来使输出效果更清晰。

需要指出的是,scanf()和printf()在C++中使用时,它们都包含在头文件cstdio中,所以在程序开头要使用#include<cstdio>。

例如:

输入:8 6↙

运行结果:

本例中,%d表示按十进制整型数据的实际长度输出,\t表示间隔一个制表符,\n表示输出y以后换行。“x=”和“y=”按字符串原样输出。

一、简答题

1.简述结构化程序设计的特点。

2.使用赋值语句的注意事项有哪些?

二、写出程序运行结果

1.2.

三、编写程序

1.输入一个四位数1 989,将其各位数字倒序打印,即输出9 891。

2.输入一个时间的秒数,将其转换成几小时、几分钟、几秒钟的形式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈