F(3)=24
考查点:基本输入、基本输出、if语句的使用、数据类型的正确使用。 (2)编写一程序实现以下功能
设某企业2008年的产值为3000万,计划以后每年的增长率为x(x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应考虑有小数)。
考查点:基本输入、基本输出及简单格式控制、简单循环、数据类型的正确使用。 (3)编写一程序实现以下功能
已知某银行整存整取存款不同期限的年息利率分别为:3.85%期限一年,4.03%期限二年, 4.22%期限三年,4.59%期限五年,5.16%期限八年。从键盘上输入存钱的本金(以元为单位,int型)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。
考查点:基本输入、基本输出及简单格式控制、简单循环、数据类型的正确使用。 (4)编写一程序实现以下功能
编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数(data1、data2为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。
考查点:较复杂输入、基本输出,if或switch语句的使用,数据类型的正确使用。 1.2.2 第2(类)题
(1)编写一程序实现以下功能
有n名学生参加某次考试,试分别统计60分以下(不含60分)、60-69分、70-79分、80-89分、90-99分、100分的人数及所占总人数的百分比(保留1位小数),输出计算结果。成绩从键盘输入(成绩没有小数),成绩之间使用逗号(,)或回车分隔,输入-1表示结束且-1不为有效成绩。程序输入与输出的效果应当如下例:
Please input CJ(-1 to exit): 10,20,89,62,79,100,-1 There have 6 students. 0-59:2, 33.3% 60-69:1, 16.7% 70-79:1, 16.7% 80-89:1, 16.7%
11
90-99:0, 0.0% 100:1, 16.7%
考查点:多个数据的输入及输入格式控制,不同数据类型数据的运算,switch多分支语句的使用,输出及简单格式控制。
(2)编写一程序实现以下功能
根据输入的n(输入前给出提示Please input n:),在屏幕上显示如下图形(分别为n=1、n=2、n=3时的情况)。
* * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * *
考查点:基本输入与输出,较复杂循环,简单算法设计。
注意,图形的形状和组成图形的字符在考试时可能发生变化,例如包括杨辉三角形以及如下所示的图形。
(3)编写一程序实现以下功能
从键盘输入日期(格式为yyyy-mm-dd,例如2009-5-15),计算出该日期是该年的第几天。
12
提示:要注意闰年、月大月小的处理。程序输入与输出的效果应当如下例:
Please input the Date(yyyy-mm-dd): 2009-5-7 the Date 2009-05-07 is 127th day of year 2009.
注意,输出的日期中,月和日各占2位,只有一位时,加0补足2位——提示:可查printf的在线帮助,有相应的格式控制字符可实现此功能。
考查点:输入及输入格式控制,较复杂if语句的使用,简单循环,输出及输出格式控制及使用在线帮助、查手册的能力。
(4)编写一程序实现以下功能
求S=1/1!+1/2!+1/3!+?+1/N!并输出结果(显示时小数部分占6位)。N为任意自然数(只考虑int型),从键盘读入。
考查点:基本输入与输出,较复杂循环,简单算法设计。
注意,要求计算的内容可能会变化,例如教材上类似习题6.3、6.4的要求。 (5)编写一程序实现以下功能
求任意的一个m×m矩阵的最大数及其所在的行列数(或求对角线上元素之和,或求周边元素之和等,或进行矩阵的转置),m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,但求和的结果可能超出int型能表示的范围)。
考查点:多个数据的输入,基本输出,二维数组的使用,多重循环,if语句的使用。 (6)编写一程序实现以下功能
输出m和n之间的所有素数,m和n从键盘读入(只考虑int型)。 考查点:基本输入与输出,较复杂循环,if语句的使用。
另外,同档次的题还应考虑:求两个数m和n的最大公约数和最小公倍数并输出。 (7)编写一程序实现以下功能
从键盘读入一行字符(最多127个字符),将其中的数字字符以及这些数字字符的数量在屏幕上显示,注意:要求先显示这些数字字符的数量。
考查点:字符串的输入,基本输出,字符的处理和if语句,简单循环,简单数组。 另外,同档次的题还应考虑:①从键盘读入一行字符,统计及输出其中的字母、数字、空格和其他符号的个数,或统计并输出其中单词的个数。
(8)编写一程序实现以下功能
从键盘上读入一行字符(最多127个字符),按以下方法将其加密变换:
13
A?Z a?z B?Y b?y C?X c?x ?? ?? Z?A z?a
即字母A变成Z、字母B变成Y...,非字母字符不变。最后在屏幕上先显示这一行字符的长度,再显示生成的密文。
考查点:字符串输入,基本输出,简单循环与字符运算,简单数组。 (9)编写一程序实现以下功能
从键盘读入一个字符串(最多127个字符),检查该字符串是否是回文。所谓回文即正向与反向的拼写都一样,例如:adgda。
考查点:字符串输入,基本输出,简单循环与字符运算,简单数组。 (10)编写一程序实现以下功能
用迭代法求x=a并将结果在屏幕上输出,a从键盘输入(只考虑int型)。求平方根的迭代公式为:
1ax?(x?) n?1n2xn要求前后两次求出的x的差的绝对值小于10?5。
考查点:基本输入与输出,简单循环,简单算法设计(从数学公式到计算机思维)。 (11)编写一程序实现以下功能
一个球从100m(可能变化)高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第n(n从键盘输入)次落地时,共经过多少米?第n次反弹多高。
考查点:基本输入与输出,简单循环,简单算法设计(观察数学上有规律的量的变化现象并使用计算机解决问题)
(12)编写一程序实现以下功能
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第n(n从键盘输入)天早上想再吃时,就只剩下一个桃子了。求第一天共摘了多少个桃子(不考虑猴子是否真的能吃多少桃子)。
考查点:基本输入与输出,简单循环,简单算法设计(观察数学上有规律的量的变化现象
14
并使用计算机解决问题)
1.2.3 第3(类)题
(1)编写一程序实现以下功能
①从键盘上先后读入两个字符串,假定存储在字符数组s1和s2中。注意,这两个字符串最长均可达到127个字符、最短均可为0个字符。
②将字符串s2插入字符串s1中,插入方法为:s2的第i个字符插入到原s1的第i个字符后,如果s2比s1(假定s1的长度为L1)长,则s2的第L1个字符开始到s2结尾的所有字符按在s2中的顺序放在新生成的s1后。提示,合并时可使用中间数组。例如:
s1输入为\,S2输入为\,则输出的s1为: 1a2b3c4d5efgh
③在屏幕上输出新生成的s1。
考查点:字符串与数组操作,循环控制。 (2)编写一程序实现以下功能
根据输入的文本文件名(可能含路径),在屏幕上显示其内容。要求每显示完20行(以’\\n’为一行结束的标志)后,暂停并提示用户“Press any key to continue...”。
考查点:存储文件名字符串的长度,文件打开正确与否的判断,文件内容的读出与显示,文件结束的准确判断,已显示行数的统计及特定行数(数)的判断,暂停功能的实现。
(3)编写一程序实现以下功能
有一存储很多商品数据(每件商品的属性先后包括:品名、规格、数量、单价,数据的最长度分别为20、10、4、5,在文件中以空格为分隔,每个商品的数据占一行)的文本文件,从键盘输入某种商品的品名,要求在文件中查找有无相应品名商品(可能有多条记录或没有),若有则在屏幕上显示出相应的商品的品名、规格、数量、单价(显示时,品名、规格、数量、单价之间使用逗号(,)作分隔),若无则显示没有相应品名的商品。
考查点:文本文件较复杂读操作,字符串的简单比较。 (4)编写一程序实现以下功能
有一存储很多商品数据(每件商品的属性先后包括:品名、规格、数量、单价,其数据类型分别为char(20)、char(10)、int、float)的二进制文件(即未作任何格式转换而直接使用fwrite将商品属性写入文件),从键盘输入某种商品的品名,要求在文件中查找有无相应品名商品(可能有多条记录或没有),若有则在屏幕上显示出相应的商品的品名、规格、数量、单价(显示时,品名、规格、数量、单价之间使用逗号(,)作分隔),若无则显示没有相应品名的商品。
15