(1)对其中的n个数进行逆序存放;
(2)计算上述数组中有多少个元素的出现次数大于1次。
(例如:
假设数组的元素值为1,5,7,2,1,9,2,1,则计算结果为2,因为其中的1和2两个元素值在数组中的出现次数大于1次)。
然后编写相应的主函数对这两个函数进行测试。
四、成绩统计(40分,其中两个函数各12分,主函数和其它占16分)
从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,要求用函数实现下列功能:
(1)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;
(2)统计各分数段的学生人数及所占的百分比。
五、职工信息管理(30分,其中,两个函数各占9分,主函数和其它占12分。
可选用结构体数组或链表完成)
已知职工对应的数据类型定义如下,包括:
职工号、部门名、性别、年龄。
structemp{
charid[10];
chardept[20];
charsex;
intage;
}
建立职工信息表,并编写函数实现:
(1)统计某一部门的职工数。
(2)统计退休(>=60岁)的职工有多少人。
一、数的排列问题(30分):
有1、2、3、4个数字,编程求它们能组成多少个互不相同且无重复数字的三位数?
这些三位数都是多少?
二猴子吃桃问题(30分):
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
编程求第一天共摘了多少。
三、成绩排名次(40分,其中两个函数各12分,主函数和其它占16分))
某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试,学生的信息有学号、数学(MT)、英语(EN)和物理(PH)三门课程的成绩,要求编写函数计算:
(1)计算每个学生的总分和平均分;
(2)按总分成绩由高到低排出成绩的名次;
四、杨辉三角形(40分,其中两个函数各12分,主函数和其它占16分))
编程输出杨辉三角形(其中,最左边一列和对角线上的元素全部为1,其它元素等于左上角元素和正上方元素的和,例如:
10行的杨辉三角如下图:
要求编写函数计算:
(1)输出10行杨辉三角形;
(2)对前面的杨辉三角形,计算其中有多少个数的值是大于M行杨辉三角形中所有数值的平均值的;
五、教师信息管理(30分,其中,两个函数各占9分,主函数和其它占12分。
可选用结构体数组或链表完成)
已知教师对应的数据类型定义如下,包括:
编号、部门、性别、生日。
structteacher{
charid[10];
chardept[20];
charsex;
structdate{
intyear;
intmonth;
intday;
}birthday;
}
建立教师信息表,并编写函数实现:
(1)统计某一部门的教师男女比例值。
(2)统计同一年出生的教师人数。
然后编写相应的主函数调用前面这两个函数。
一、计算卡片的最大数量(30分)
将一摞卡片按照图1所示叠放,使其中一部分悬于桌外(卡片数量为n,每张卡片长度为1)。
当n=1时,仅有一张卡片,其最大可悬空长度为1/2;当n=2时,置于底部的那张卡片其悬空长度是1/3,而置于顶部的卡片其悬空长度是1/2,故悬于桌外的总长度是1/2+1/3=5/6。
可以推断,当有n张卡片时,悬空部分的总长度是:
1/2+1/3+1/4+...+1/(n+1)。
从键盘输入一个最大悬空长度值,判断该长度下最多能叠放几张卡片。
图1卡片最大可悬空长度示意图
测试结果如下:
二、奇异的三位数(30分)
任意写一个三位数,再在这个三位数右边添上相同的三位数,变成一个六位数,这个六位数一定能同时被7,11,13整除。
请验证所有的三位数都满足该结论。
三、(40分,其中两个函数各12分,主函数和其它占16分)
编写两个函数:
(1)atoi()—将字符串转化为整数的,如将字符串“-621”转换为整数的-621。
(2)itoa()—将整数转换为字符串,如将整数-621转换为字符串“-621”。
并编写相应的主函数测试之。
四、为选美比赛计算排名(40分,其中两个函数各12分,主函数和其它占16分):
在选美大奖赛的半决赛现场,有一批选手参加比赛,比赛的规则是最后得分越高,名次越低。
在半决赛结束时,要宣布最后得分和最后名次,获得相同分数的选手具有相同名次,名次连续编号,不用考虑同名次选手的人数。
例如:
选手序号:
1,2,3,4,5,6,7
选手得分:
5,3,4,7,3,5,6
则名次为:
3,1,2,5,1,3,4
请帮大赛组委会完成如下工作:
(1)为选手排序;
(2)输出某个选手的名次。
五、自助缴费系统(30分,其中,两个函数各占9分,主函数和其它占12分。
可选用结构体数组或链表完成)
为某通信运营商完成一个简单的自助缴费系统。
已知每个用户的信息如下:
structClient
{
charnumber[12];//手机号
doublecost; //本月话费
doublebalance; //话费余额
};
请在主函数中输入若干用户的数据,并另外编写两个函数分别实现如下功能:
(1)为某个用户充值。
(即给出用户号码和充值金额,计算出该用户新的话费余额)
(2)赠话费。
活动规则为:
对手机尾号为88的用户,赠送10元话费(即相应手机用户的话费余额增加10元)。
在主函数依次调用上述函数实现对所有用户进行充值并按活动规则赠送话费后,输出所有用户新的话费余额。
一、抓交通肇事犯(30分)
一辆卡车交通肇事后逃逸。
现场有三人目击事件,但是都没有记住车号,只记下车号的一些特征。
甲说:
牌照的前两位数字是相同的;乙说:
牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:
四位车号组成的数字刚好是一个整数的平方。
请根据以上线索求出车号的四位数字。
二、计算e的近似值(30分)
利用泰勒级数
,计算e的近似值。
当最后一项的绝对值小于10-5时,认为达到了精度要求。
要求统计总共累加了多少项。
测试结果如下:
三、(40分,其中两个函数各12分,主函数和其它占16分)
编写两个函数:
(1)对数组进行排序。
(2)找出数组中的中位数。
(排好序后最中间的数就是中位数)
然后在主函数中编写相应的程序,测试这两个函数。
四、译码(40分,其中change函数20分,主函数和其它占20分):
编写change函数实现:
将大于0小于1000的阿拉伯数字转换为罗马数字输出。
阿拉伯数字和罗马数字对应关系如下:
并编写相应的主函数测试该函数。
注:
程序的测试结果如下:
五、访客信息管理(30分,其中,两个函数各占9分,主函数和其它占12分。
可选用结构体数组或链表完成)
某小区要求来访客人必须实名登记才能进入小区。
请编程帮助该小区实现如下的访客信息管理:
(1)将访客信息(在主函数中输入)保存至文件a.txt;
(2)打印某时间段(如2009年1月1日10点到14点)的访客清单。
访客的数据类型定义如下:
structVisitor
{
charname[20];//访客姓名
struct
{
intyear;
intmoth;
intday;
}date;//来访日期
struct
{
inthour;
intminute;
}time;//来访时间,24小时制
};