实验6-3 数组(三)
1
【实验目的】
(1)掌握字符数组的定义、赋值和输入输出的方法
(2)掌握字符数组和字符串函数的使用
(3)掌握数组的基本操作和排序算法
【实验要求】
(1)熟悉掌握字符数组的定义、赋值和输入输出方法
(2)掌握字符数组和字符串函数的使用
(3)掌握数组的增加元素和删除元素的操作
(4)掌握数组的排序算法(比较、选择和冒泡三种算法,要求至少会一种)
【实验环境】
(1) Microsoft XP操作系统
(2) Microsoft VC++ 6.0
【实验内容】
1、Palindromes_easy version
/acmhome/problemdetail.do?&method=showdetail&id=1384 描述
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
请写一个程序判断读入的字符串是否是“回文”。
输入
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串,每个字符串的长度不超过30。
输出:如果一个字符串是回文串,则输出"yes",否则输出"no".
样例输入:
4
level
abcde
noon
haha
样例输出:
yes
no
yes
no
2、分割整数/acmhome/problemdetail.do?&method=showdetail&id=1173
描述:从键盘输入一个长正整数(不超过10位),从高位开始逐位分割并输出。
输入:正整数n,不含前导零。
输出:分割的整数序列,各整数之间用空格格开。
注意,最后一个数字后面没有空格!
样例输入:654321
样例输出:6 5 4 3 2 1
3、简单编码/acmhome/problemdetail.do?&method=showdetail&id=1464
描述:将一串文本译成密码,密码的规律是:将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下:
0——>9
1——>8
2——>7
3——>6
4——>5
5——>4
6——>3
7——>2
8——>1
9——>0
然后将所有字符的顺序颠倒。
输入: 输入一串文本,最大字符个数不超过100。
输出: 输出编码后的结果。
样例输入: china
样例输出: ANIHC
4、单词统计/acmhome/problemdetail.do?&method=showdetail&id=1178
题目描述:
从键盘输入一行字符,统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。
输入:输入只有一行句子。
仅有空格和英文字母构成。
输出:单词的个数。
样例输入:
stable marriage problem Consists of Matching members
样例输出:
7
5、元素插入/acmhome/problemdetail.do?&method=showdetail&id=2951
题目描述:
今天同来面试的,还有Mr.true,Mr.true是一位高中大学都搞竞赛的小超人,而MS 也很需要这样的人才。
于是,不用说,他去面试的时候会得到一点点小特权,那就是他可以少排一会队———漂亮的人力资源MM会给他安排一个靠前的位置。
输入:第一行为一个整数T,表示有T组数据。
每组数据有3行:
第一行为原队伍已有的人数N;
第二行有n个以空格隔开的整数表示原队伍面试编号序列;
第三行为两个整数P、Q,P表示Mr.true拿到的面试编号,Q表示Mr.true将插入队伍中的第Q个位置。
保证没有相同号码,保证N不大于10000
输出:插入后队伍面试编号的情况。
样例输入:
2
1 2 3
4 2
4
9 8 2 3
7 1
样例输出:
1 4
2 3
7 9 8 2 3
6、元素删除/acmhome/problemdetail.do?&method=showdetail&id=2952
题目描述:
陪同Mr.true&&Eddy一同去面试的还有DavidDeng。
DavidDeng信心满满的去微软面试,一群面试者排起了长长的队伍,每个人有张面试编号。
这时,一位大美女KZ从他身边走过,DavidDeng对其一见钟情,DavidDeng拿起他的面试编号N就离开了面试队伍。
输入:第一行为一个整数T,表示有T组数据。
每组数据有三行:
第一行是一个整数M ,表示原队伍有M个人;
第2行有M个以空格隔开的整数,即原队伍中每个人的面试编号;
第三行为DavidDeng的面试编号N。
保证没有相同号码,保证N不大于10000
输出:DavidDeng离开后队伍的面试编号序列。
样例输入:
4
1 3 8 2
3
样例输出:
1 8 2
7、数组逆序2 /acmhome/problemdetail.do?&method=showdetail&id=1458
描述
有n个整数,使其最后m个数变成最前面的m个数,其他各数顺序向后移m(m<n<100)个位置。
输入:输入数据有2行,第一行的第一个数为n,后面是n个整数,第二行整数m。
输出:按先后顺序输出n个整数。
样例输入
5 1 2 3 4 5
2
样例输出
4 5 1 2 3
8、数列有序!/acmhome/problemdetail.do?&method=showdetail&id=1377
题目描述:
有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该
数插入到序列中,并使新的序列仍然有序。
输入:
输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。
n和m同时为0标示输入数据的结束,本行不做处理。
输出:对于每个测试实例,输出插入新的元素后的数列。
样例输入:
3 3
1 2 4
0 0
样例输出:
1 2 3 4
9、英文金曲大赛
/acmhome/problemdetail.do?&method=showdetail&id=1056 题目描述:
我们在“渊子数”的题目中已经了解了渊子是个什么样的人了,他在大一的时候参加过工商学院的“英语聚乐部”。
告诉你个秘密,这个俱乐部是个好地方,不但活动精彩而且有MM。
这不,英语俱乐部举办了一个叫做“英文金曲大赛”的节目。
这个节目有好多人参加,这不,成绩出来了,渊子当是很勇敢,自告奋勇接下了算出大家的总得分的任务。
当时有7个评委,每个评委都要给选手打分,现在要求去掉一个最高分和去掉一个最低分,再算出平均分。
结果精确到小数点后两位。
输入:
测试数据包括多个实例。
每组数据包括7个实数,代表评委们对该选手的评分。
紧接着是选手的名字,名字的长度不超过30个字符。
输入直到文件结束。
输出:算出每位选手名字和最终得分,结果保留两位小数。
样例输入:
10 10 10 10 10 10 9 xiaoyuanwang
0 0 0 0 0 0 0 beast
样例输出:
xiaoyuanwang 10.00
beast 0.00
10、简单排序/acmhome/problemdetail.do?&method=showdetail&id=1283
题目描述:
你知道吗,在ACM程序设计竞赛中经常会遇到排序问题,如果你每次都花费大量的时间去编写排序函数,那可不好,因此要好好去练习啦!下面好好练练吧:给定N个整数,请你对这些整数进行升序排列并输出。
输入:
输入数据有多组,第一行是测试数据的组数T,接下的T行中,每行表示一组测试数据,每组测试数据的第一个数字为N(1<=N<=1000),接下来是N个整数。
本题中,所有的整数都在32位之内。
输出:输出每组测试数据排序后的结果。
每组测试数据占一行。
样例输入:
2
3 2 1 3
4 1 3 4 2 样例输出:1 2 3
1 2 3 4。