实验8-1 指针
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验8-1 指针(一)
1
【实验目的】
(1)掌握指针的概念和定义和使用指针变量的方法
(2)能正确使用数组的指针和指向数组的指针变量
(3)能正确使用字符串的指针和指向字符串的指针变量
【实验要求】
(1)熟练掌握和使用一维数组的指针和指向一维数组的指针变量
(2)能正确使用字符串的指针和指向字符串的指针变量
【实验环境】
(1) Microsoft XP操作系统
(2) Microsoft VC++ 6.0
【实验内容】
1、两个数比较/acmhome/problemdetail.do?&method=showdetail&id=1002
题目描述:求2个数中较大者。
输入:第一行为测试的数据组数N,接下来的N行分别是两个待比较的整数
输出:输出N行,每一行的值为每组数中较大的整数
样例输入
2
1 2
15 10
样例输出
2
15
2、三个数排序/JudgeOnline/problem.php?id=1511
题目描述:输入三个整数,按由小到大的顺序输出。
输入:三个整数
输出:由小到大输出成一行,每个数字后面跟一个空格
样例输入:2 3 1
样例输出:1 2 3
3、字符串排序/acmhome/problemdetail.do?&method=showdetail&id=1484
描述:输入3个字符串,按字典序从小到大进行排序。
输入:输入数据有一行,分别为3个字符串,用空格分隔。
输出:输出排序后的三个字符串,用空格分隔。
样例输入:abcd cdef bcde
样例输出:abcd bcde cdef
4、重置最值/JudgeOnline/problem.php?id=1513
题目描述:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;①输入10个数;②进行处理;③输出10个数。
输入:10个整数
输出:整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入:2 1 3 4 5 6 7 8 10 9
样例输出:1 2 3 4 5 6 7 8 9 10
5、复制部分字符串/JudgeOnline/problem.php?id=1516
题目描述:有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
输入:数字n 一行字符串数字m
输出:从m开始的子串
样例输入:
6
abcdef
3
样例输出:
cdef
6、删除指定字符/JudgeOnline/problem.php?id=1429
题目描述:编制函数del_char。函数原型为void del_char(char *,char),函数的功能是删除a指向的字符串中值为ch的字符,例如从字符串"AscADef"中删除'A'后,字符串为"scDef"。
输入:
需要删除的字符ch
需要处理的字符串
输出:
处理后的字符串
样例输入
A
AscADef
样例输出
scDef
7、出现最多的整数/JudgeOnline/problem.php?id=2313
题目描述:输入10个整数存入一维整型数组,统计并输出其中出现次数最多的整数和出现的次数。功能由函数Num(int a[])完成。
输入:输入10个整数
输出:出现次数最多的数及出现次数,如果有多个数出现次数一样,输出最前面的次数最大的数
样例输入:
100
8
100
8
7
9
5
6
7
样例输出:
100
2
8、数值统计2/JudgeOnline/problem.php?id=2311
题目描述:从键盘输入若干数据整数(零表示结束),统计出数据个数,以及最大值、最小值和平均值。用一个函数实现数据输入的功能,其首部为:
int Input(int s[])
Input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。
用一个函数实现求最大值、最小值和平均值的功能,首部为:
void statistics(int n, int s[], int *max, int *min, float *avg)
输入:从键盘输入若干数据整数(零表示结束)
输出:统计出数据个数,以及最大值、最小值和平均值
样例输入:1 2 3 4 5 0
样例输出:
Num=5
Max=5
Min=1
Avg=3.000
9、手动字符串比较/JudgeOnline/problem.php?id=2265
题目描述:编写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为strcmp(char *p1,char *p2),设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0;(s1,s2长度相等并且不超过100) 若s1!=s2,返回它们两者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第2个字母不同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值,反之输出负值。(本题要求用指针来做)
输入:第一行为N,表示接下来有N组测试数据。接下来的N行表示N组测试数据,每组测试数据包含两个字符串,中间用空格隔开,并且保证每个字符串中的字符都是小写字母。
输出:输出两个字符串比较的结果。
样例输入:
2
abcdef aaaaaa
a z
样例输出:
1
-25
10、排序/acmhome/problemdetail.do?&method=showdetail&id=1479