实验8-2 指针

更新时间:2023-11-05 15:50:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验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

第三轮:5被杀 第四轮:2被杀

6、排序查找http://acm.swust.edu.cn/oj/problem/623/

题目描述:采用选择法对15个整数排序,排序完成后各整数按照从大到小的顺序排列。排序完成后输入一个数,找出该数是数组中第几个元素的值。

输入:输入共有两行: 第一行输入15个整数. 第二行输入你要查找的整数.

输出:输出你要查找的整数在排好序的数组中是第几个元素.如果该数不在数组中,则输出“wucishu!”。如果输入的数在数组中有多个,则输出此数在排好序后的数组中第一次出现的位置.具体请见Sample Output .

样例输入:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 样例输出: 1

7、用指针的指针来排序 http://acm.zjgsu.edu.cn/JudgeOnline/problem.php?id=2266

题目描述:用指向指针的指针的方法对n个整数进行排序,使之成为上升序列并输出。要求将排序单独写成一个函数。N个整数在主函数中输入,最后在主函数中输出。(本题要求用双重指针来解)

输入:第一行为N,表示接下来一行有N个整数。有多组测试数据,直到输入文件结束。

46

输出:输出排序后的结果,整数间用空格隔开。 样例输入: 7

34 98 56 12 22 65 1 样例输出:

1 12 22 34 56 65 98

8、矩阵转换 http://acm.zjgsu.edu.cn/JudgeOnline/problem.php?id=2264

题目描述:将一个5X5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下一次从小到大存放),写个一函数来实现,用main函数调用。(要求用指针来做)

输入:每组数据为5X5的矩阵,矩阵的数字为整数。有多组测试数据,直到输入文件结束。

输出:输出按题目要求改变后的矩阵,每组结果后空一行。 样例输入: 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 样例输出: 11 34 33 32 12

47

30 29 28 27 26 25 24 35 22 21 20 19 18 17 16 13 23 15 31 14

9、班级课程成绩计算http://acm.swust.edu.cn/oj/problem/617/

题目描述:

一个班有N名学生,每个学生修了五门课。 1)求每个学生的平均成绩,并输出每个学生的学号,每门课程的成绩及平均值。 2)求某门课程的平均分; 1、分别编写2个函数实现以上2个要求。 2、第1个函数用数组名作参数。第2个函数用指针用参数,并在函数体内用指针对数组操作。

输入:

第一行:输入N,代表N名学生 下面N行,每行有6个数据分别为:学号,英语成绩,数学成绩,C++成绩,音乐成绩,美术成绩

输出:

首先输出N行 每行为学生学号,每门成绩和平均成绩(平均成绩四舍五入保留一位小数) 最后按顺序输出每门平均成绩(平均成绩四舍五入保留一位小数)

样例输入: 4

20070001 94 92 97 93 90 20070005 84 89 92 81 73 20070004 82 75 94 86 95

48

20070003 84 86 82 97 91 样例输出:

20070001 94 92 97 93 90 93.2 20070005 84 89 92 81 73 83.8 20070004 82 75 94 86 95 86.4 20070003 84 86 82 97 91 88.0 86.0 85.5 91.3 89.3 87.3

10、购物清单http://acm.swust.edu.cn/oj/problem/295/

题目描述: 当你去消费时,你会在一个很长的货架上找你需要的东西。由于你只记得部分的关键词,这样就会有很多备用物品供你去选择。现在给出所有的商品名,和你记得的关键字,设计一个程序找出拥有这些关键字的产品的个数。

输入: 只有一个测试用例,首先输入一个正整数P(1 ≤ P ≤10000),代表了所有产品的总数,接下来是P行字符串(军事小写,长度不超过20个字符)。然后输入一个正整数Q(1 ≤ Q ≤100000),Q代表了记得的关键字符串的个数,接下来是Q行关键字字符串。

输出: 针对每一个字符串输出一个含有该字符串的商品名字的总个数。 样例输入: 20 ad ae af ag

49

ah ai aj ak al ads add ade adf adg adh adi adj adk adl aes 5 b a d ad s

50

样例输出 0 20 11 11 2 51

本文来源:https://www.bwwdw.com/article/v882.html

Top