C++语言程序设计(上)期终考试(08-09-2 学期)
非电类第三场上机考试试卷_D(1 月 8 日)
学号 姓名 机位号 成绩
(考试时间 70 分钟,卷面分数 100 分)
说明:首先在 Z 盘建立一个以自己的学号命名的文件夹,用于保存上交的考试
文件。先在 E 盘对以下问题按要求编制程序,调试运行,输出结果。然后将源
文件和自己的头文件(若存在)复制到 Z 盘自己的文件夹中。
一、编写并调试运行函数形式的程序 (40 分)
【题目】数字分解。
【要求】
(1)定义一个函数 int mut(int n),功能是计算 n 的各位数字的乘积。在数字分解
过程中输出分解出的每一位数字(各占一行),返回计算的各位数字乘积。
(20 分)
(2)main()函数功能:从键盘输入一个任意正整数 a,调用函数 mut 进行计算。
(10 分)
(3)调用函数返回后输出计算结果。要求输出格式为:
MUT(<a 值>) = <计算结果>
程序测试至少三次,分别输入不同的 a 值。 (10 分)
【注意】 将源程序以“学号_1.cpp”为文件名存入 Z 盘自己的目录中。
二、编写并调试运行数组处理程序 (60 分)
【题目】查找最大值
【要求】
(1)定义一个函数 int RMax(int a[ ], int m, int b[], int k),对于长度为 m(m=4)
的一维数组 a 找出最大值并记录下标 j,将该元素值插入到数组 b 中下标为 k 的
变量中。返回该最大值的下标 j。 (20 分)
(2)主函数建立整型二维数组 elem[5][4]和一维数组 mx[5]。利用循环产生 20
个随机整数并赋值给数组 elem。 (10 分)
(3)将 elem 中的数据以方阵形式输出至屏幕。 (10 分)
(4)用循环变量 i 控制二维数组的行,循环中调用函数 RMax (elem[i],4,mx,i)
找出第 i 行的最大值,返回后输出:
“第…行的最大值为:i=…,j=…,value=…”。 (10 分)
(注:…为相应的数字)
(5)输出数组 mx 中的元素,每个数占 8 位宽度。 (10 分)
【提示】可调用产生随机数的函数 rand(),该函数包含在 stdlib 头文件中。头文
件 iomanip.h 含有控制格式的 setw()。
【注意】 将源程序以文件名“学号_2.cpp”存入 Z 盘自己的文件夹中。
评论0
最新资源