- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hw9指针与数组.doc
作业 10 指针与数组
一、作业要求
作业最后需写作业小结,写出本次作业中遇到的问题或程序中遇到的错误,以及解决问题的方法。无作业小结者,本次作业无成绩。
作业成绩取决于作业的认真程度(反映在作业小结中),而不是作业题目的对错。雷同者双方成绩均为0,未事先说明迟交者,作业成绩为0。
二、作业内容
任选4题。
(难度:★)
回答下列问题。假设单精度浮点数所占用的存储空间是4字节,数组的起始位置是内存中的1002500地址。本练习中,回答每个问题可能会用到前面问题的答案。
请定义一个名为numbers的类型为float的具有10个元素的数组,并将其元素分别初始化为0.0,1.1,2.2……9.9。假设符号常量SIZE已经被定义为10。
请定义一个名为nPtr的、所指向的对象类型为float的指针变量。
请用数组下标表示法来打印出数组numbers的所有元素。请使用一个for语句,并假设整型控制变量i已经被??义好。请按照小数点后边保留一位精度的格式打印这些元素。
请用两个不同的语句将数组numbers的起始位置赋给指针变量nPtr。
请用指针变量nPtr,以指针/偏移量表示法来打印数组numbers的所有元素。
请用数组名作为指针,以指针/偏移量表示法来打印数组numbers的所有元素。
请以带有下标的指针变量nPtr表示法来来打印数组numbers的所有元素。
分别用数组下标表示法、以数组名作为指针的指针/偏移量表示法、指针变量nPtr作为下标的指针/下标表示法以及以指针变量nPtr为指针的指针/偏移量表示法来访问数组numbers的元素4.
假设nPtr指向数组numbers的起始位置,请问:nPtr+8访问的是什么地址?该地址存储的值是什么?
假设nPtr指向numbers[5],请问nPtr-=4访问的是什么地址?该地址存储的值是什么?
(难度:★★)
键盘上输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,并输出数组。运行结果如下:
(难度:★★)
编写函数printstring,通过指针操作,输出该数组中第n个字符之后的第m个字符。并编写主函数测试。n与m的值在主函数中输入。运行结果如下:
当n+m大于字符串长度时,要求重新输入。
(难度:★★)
编写函数numbers,通过指针操作,统计一个字符串中数字字符的个数。并编写主函数测试。运行结果如下:
(难度:★★★)
编写函数deletechar,通过指针操作,将一个字符串中的指定字符删除。并编写主函数测试。运行结果如下:
(难度:★★★)
编程判断输入的字符串是否为“回文”。所谓“回文”,是指顺读和倒读都一样的字符串,如“level”和“abccba”都是回文。要求使用指针表示法。
(难度:★★★★)
从键盘任意输入10个整数,用函数编程实现计算最大值和最小值,并返回它们所在数组中的位置。
函数功能: 求n个数中的最大值和最小值及其所在下标位置
函数入口参数: 整型数组num,存储n个整数;整型变量n,表示数组元素个数
函数出口参数: 整型指针变量pMaxPos,指向的地址单元存储最大值在数组中的下标位置; 整型指针变量pMax,指向的地址单元存储最大值;整型指针变量pMinPos,指向的地址单元存储最小值在数组中的下标位置;整型指针变量pMin,指向的地址单元存储最小值
函数返回值: 无
void FindMaxMin(int num[], int n, int *pMax, int *pMaxPos, int *pMin, int *pMinPos)
(难度:★★★★)
假设每班人数最多不超过40人,具体人数由键盘输入,用一维数组和指针变量作函数参数,编程打印某班一门课成绩的最高分和学号。函数原型如下:
函数功能:计算最高分及最高分学生的学号
函数参数:整型数组score,存放学生的成绩
长整型数组num,存放学生的学号
长整型指针变量pMaxNum,存放求出来的最高分学生的学号
函数返回值:最高分
int FindMax(int score[], long num[], int n, long *pMaxNum);
(难度:★★★★★)
用指向二维数组第0行第0列元素的指针作函数参数,编写一个能计算任意m行n列的二维数组中的最大值,并指出其所在的行列下标值的函数,利用该函数计算3个班学生(假设每班4个学生)的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。
主函数如下语句,横线处填写函数调用:
#include stdio.h
#define CLASS 3
#define STU 4
int FindMax(int *p, int m, int n, int *p
文档评论(0)