- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章数组与字符串精要
字符数组 习题3-8 手机键盘(keyboard) 输入一个由小写字母组成的英文单词,输出用手机的默认英文输入法的敲键序列。例如要打出pig这个单词,需要按1次p,3次i,(稍作停顿后)1次g,记为p1i3g1。 第三讲:数组与字符串 主讲:高放 哈尔滨理工大学集训队 本讲要点 数组 字符数组 小结与习题 数组 下面从一个问题出发,说明一下为何使用数组。 问题:读入一些整数,逆序输出到一行中,整数之间用空格格开。已知整数不超过100个。 【分析】 首先通过循环来读取100个整数的输入,然后把每个数都存下来,存放在数组中,最后输出。 #define是 “宏定义”,它是在编译的时候编译器执行的命令。作用是替换指定的字符串。 puts(字符串“); 相当与 printf(字符串\n); 【不支持占位符】 数组 int a[MAXN] 表示声明了一个包含 MAXN 个 int 形 变量的数组。 【注意,MAXN必须是常数】 a[0]表示数组中下标为0的变量,a[1]表示下标为1. 注意:a[100]的数组,下标范围是0~99 数组 注意学习上面这个程序中的输出技巧。 因为输出的数用空格隔开,而末尾不应该有空格,所以需要用一条判断来输出。 当然,这不是唯一的实现方式。还有很多的方式可以实现相同的功能。 另外,大数组,要开成全局变量(就是不在任何函数里面),不然容易一运行就崩溃。【具体原因在讲到递归的时候就明白了】 数组 声明方式: 类型 数组名[数组大小]; 引用方式: 数组名[下标]。 注意点: 数组大小必须为常量。 引用数组元素时,其下标可以是变量。 下标的范围为 0 ~ 数组大小-1。 数组不能像变量一样直接赋值。只能对数组中的变量赋值。 实际工程中,为了节省内存,数组的空间往往是按需要申请。这时候可以用 new 实现。但竞赛中用不到。 数组 例3-1 开灯问题。 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯被打开,开着灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着? 输入:n和k,输出开着的灯编号。k≤n≤1000。 样例输入:7 3 样例输出:1 5 6 7 【分析】 用a[1],a[2],…,a[n]表示编号为1,2,3,…,n的灯是否开着,模拟这些操作即可。 memset, string.h !a[j] % 数组 补充:memset函数原型如下: void *memset(void *buffer, char c, int count); 功能:把buffer所指内存区域的前count个字节设置成字符c,第三个参数指的是字节的个数,返回指向buffer的指针,在程序中需包含头文件:#include string.h。由memset函数的头文件可以知道,其主要是对字符数组进行设置,当然也可以对数组进行初始赋值(一般是0,-1)。 数组 有一个技巧是在输出:为了避免输出多余空格,设置了一个标志变量first,可以表示当前要输出的变量是否为第一个。第一个变量前不应有空格,但其他都有。 数组 例3-2 蛇形填数。 在n*n方阵里填入1,2,…,n*n,要求填成蛇形。例如n=4时方阵为 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 每个数字占3个位置,不足4位的在右边用空格补齐。n≤8。 数组 【分析】 与数学的矩阵相比,可以用一个所谓的二维数组来存储题目中的方阵。只需声明一个int a[MAXN][MAXN],就可以获得一个大小为MAXN×MAXN的方阵。在声明时,两维的大小不必相同。 数组 提示3-4:用int a[MAXN][MAXM]生成一个整型的二维数组,其中MAXN和MAXM不必相等。这个数组共有MAXN×MAXM个元素,分别为 a[0][0],a[0][1],…,a[0][MAXM-1], a[1][0],a[1][1],…,a[1][MAXM-1], …, a[MAXN-1][0],a[MAXN-1][1],…, a[MAXN-1][MAXM-1]。 数组 假设从1开始依次填这写。设“笔”的坐标为(x,y),则一开始x=0,y=n-1,即第0行第n-1列(注意行列的范围是0~n-1,没有第n列)。“笔”的移动轨迹是:下、下、下、左、左、左、上、上、上、右、右、下、下、左、上。总之,先是下,到不能填了为止,然后是左,接着是上,最后是右。“不能填”是指再走就出界(例如4→5)或者再走就要走到
您可能关注的文档
- 第3章_处理器架构.ppt
- 脂质体-下载.ppt
- 第3章Simulink高级仿真技术.ppt
- 第3章_消费税法.ppt
- 脆弱性评估及食品欺诈和食品掺假.pptx
- 第37讲课件:东亚、东南亚、南亚、中亚-副本.ppt
- 脂类与脂类代谢.ppt
- 脉冲激光沉积PZT.docx
- 脉搏血氧饱和度(SpO2).ppt
- 第3章企业IPO上市流程.ppt
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
最近下载
- 多发性硬化症免疫病理学.pptx VIP
- 教科版小学科学四年级上册 一天的食物 教案 教学设计.doc
- 人教统编版语文四年级上册 第三单元 双减分层作业设计 案例样例.docx
- 《中国文学理论批评史》第一章 先秦两汉文学理论批评60.pptx VIP
- 国家开放大学电大《计算机应用基础(本) 》 终结性考试试题答案(完整版).pptx
- 【西门子】SIMATIC HMI IPC477C _ HMI IPC477C PRO.pdf
- 2024年江苏省泰州市中考数学试题卷(含答案).docx
- 初中语文新部编版七年级上册第一单元核心素养教案(2024秋).doc
- 18.富饶的西沙群岛 ( 课件)(共17张PPT).ppt.pptx VIP
- 胃肠造影规范操作归纳.ppt
文档评论(0)