实验五 数组_2010
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五 数 组
[实验目的]
1、通过编程及上机调试,掌握数组类型的使用方法。
2、掌握字符数组的使用方法。
3、将数组灵活应用于程序设计中。
[实验内容与步骤]
1、计算、保存和输出Y i
Y X X i i i =+2522s i n()s i n () i=0,2,3,...,9
X i 由键盘输入。
2、某选举活动有五位候选人。候选人按1~5编号,投票工作是在选票上方标记出某位候选 人的编号即可。试编写一程序,使用数组变量count 保存并输出每位候选人的得票数。 如果所读取数为-1,读取选票结束;如果所读取数不在1~5的范围内,该选票被视作“废 票”, 程序应可以计算出废票数。
3、读入一串字符,以‘!’结束。分别统计其中数字0,1,2,...,9出现的次数。
4、输入一串字符,以‘?’结束。统计各字母出现的次数,并按字母出现的多少输出(先 输出次数多的,次数相同的按字母表顺序输出,不出现的字母不输出)。
例:输入 5B3aA+4-HDEH5DH?
输出 H 3
D 2
A 1
B 1
E 1
a 1
5、输入字符数组,剔除其中所有的字符‘c ’后再输出。
6、编写一个程序,输入两个字符串str1和str2,要求各串中无重复出现的字符,求两者的 交集。若该交集非空,则输出结果。
7、输出下列形式的杨辉三角形的前10行
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
…
8、输入下述8个国家名字的字符串:CHINA 、JAPAN 、KOREA 、INDIA 、CANADA 、 AMERICA 、ENGLAND 和FRANCE ,要求将这些国名按字典顺序排序。
[习题与思考题]
1、插入排序。以任意次序读入10个数。将第一个数放在数组A 的第一个元素中。以后与 已存入数组A 中的数进行比较,确定它在从小到大的排列中应处的位置。将该位置及其
后面的元素向后推移一个位置,将新读入的数据填入空出的位置中。这样在数组A中的数总是从小到大排列的。10个数据处理完后输出数组A。(其算法请参见流程图)2、有15个数存放在一个数组中,输入一个数,用折半查找法找出该数是数组中第几个元
素。若该数不在数组中,则打印出“No found”。
3、输入3行3列的矩阵A,然后(用函数实现各小题功能)
(1)输出矩阵A。
(2)将对角线之外的上三角形中的每个元素加1,下三角形中的每个元素减1,输出矩阵A。
(3)找出现在在矩阵A中最大的元素及其行、列位置。并输出。
(4)计算矩阵A的对角线上的元素之和。
(5)计算矩阵A的转置矩阵A T。(要求将A转置存放)
4、计算2个矩阵a(M行P列),b(P行N列)的乘积。
5、某班学生有若干人(不超过40人),期终共考5门课,每个学生的成绩按学号顺序存
入计算机。编程完成下列计算:
(1)求出每个学生的总分和平均分;
(2)每门课程的最高分,以及该得分学生的学号;
(3)统计各门课程成绩在60分以下学生所占的百分比。
6、编写一对函数实现互换日期表示法:nday(y,m,d)函数,将某年某月某日转换成这一年的
第几天;monday(y,n,mday)函数,将某年的第几天转换成这一年的某月某日,返回时mday[0]为月份数,mday[1]为这个月的第几天。
7、输入一字符数组,再输入一子字符数组,在前一字符数组中剔除所有的子字符数组后再
输出。
8、编程求解约瑟夫问题:M个人围成一圈,从第一个人开始报数,数到N的人出圈。再
由下一个人开始报数,数到N的人出圈。...印出依次出圈人的编号。M值预先选定,N 值由键盘输入。
例:M=8,N=5
依次出圈的是5、2、8、7、...
插入排序流程图