实验8-2 指针(二)
1
【实验目的】
(1)进一步掌握指针的高级应用 (2)能正确使用指针引用数组元素
(3)能正确使用指向数组的指针变量和指向字符串的指针变量
【实验要求】
(1)熟练掌握调用函数时实参与形参的对应关系 (2)能正确使用指针引用数组元素
(3)能正确使用指向数组的指针变量和指向字符串的指针变量
【实验环境】
(1) Microsoft XP操作系统 (2) Microsoft VC++ 6.0
【实验内容】
1、Encoding http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1248
题目描述:
给定一个只包含大写字母'A'~'Z'的字符串,我们可以采用如下方法对其进行编码: 1. 子串中包含k个连续相同的字母X,可编码为kX。 2. 如果k值为1,k值被忽略。 输入:
41
第一行包含一个整数N(1<=N<=100),表示测试数据的组数。
下面N行是N个待编码字符串。字符串中只包含'A'~'Z'的大写字符,字符串长度不超过10000。
输出:输出编码好的字符串。每个字符串占一行。 样例输入: 2 ABC ABBCCC 样例输出: ABC A2B3C
2、剪花布条 http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1248
题目描述:
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?
输入:
输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。
输出:
输出能从花纹布中剪出的最多小饰条个数,如果一块都没有,那就老老实实输出0,每
42
个结果之间应换行。
样例输入: abcde a3 aaaaaa aa #
样例输出: 0 3
提示:可以使用strstr函数
3、字符串排序2 http://acm.zjgsu.edu.cn/JudgeOnline/problem.php?id=1999 题目描述:请编写C程序,输入5个不同的且为字符格式的学生编号,将其先由大到小排序,再将最大的学生编号和最小的学生编号互换位置,然后输出此时5位学生的编号。
输入: 输入5位学生的编号(只含数字字符、英文字母或空格)。 输出: 输出按题意要求排序后的5位学生的编号。 样例输入 good1 tiger100 horse2011 mouse 022 21century 样例输出
43
21century mouse 022 horse2011 good1 tiger100
4、密码 http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1395
描述:网上流传一句话:\常在网上飘啊,哪能不挨刀啊~\。其实要想能安安心心地上网其实也不难,学点安全知识就可以。
首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一般来说一个比较安全的密码至少应该满足下面两个条件:
(1).密码长度大于等于8,且不要超过16。
(2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。这四个字符类别分别为:
1.大写字母:A,B,C...Z; 2.小写字母:a,b,c...z; 3.数字:0,1,2...9;
4.特殊符号:~,!,@,#,$,%,^;
给你一个密码,你的任务就是判断它是不是一个安全的密码。
输入:输入数据第一行包含一个数M,接下有M行,每行一个密码(长度最大可能为50),密码仅包括上面的四类字符。
输出:对于每个测试实例,判断这个密码是不是一个安全的密码,是的话输出YES,
44
否则输出NO。
样例输入 3
a1b2c3d4 Linle@ACM ^~^@^@!% 样例输出 NO YES NO
5、约瑟夫问题 http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1480
描述: n个人想玩残酷的死亡游戏,游戏规则如下:
n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。请输出最后一个人的编号。
输入: 输入n和m值。1 第一轮:3被杀 第二轮:1被杀 45