




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三讲数组、字符串,同类型变量或对象的集合称为数组。 定义:类型名 数组名元素个数 元素个数必须是常数或常量表达式; 数组下标取值从0开始,使用数组时下标不能越界; 同一数组的所有数组元素在内存中占用一片连续的存储单元。 引用:数组名下标 下标可以是任何值为整型的表达式,可以包含变量和函数调用; 下标值应在数组定义的下标值范围内。,一维数组,例3.1斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、求数列的前20项并按从大到小的顺序输出。,一维数组,初始化:在定义一个一维数组的同时,可以给数组中的元素赋初值。 格式:类型名 数组名常量表达式=值1,值2, 例如: int
2、a10=0,1,2,3,4,5,6,7,8,9 相当于:a0=0;a1=1;a2=2;a9=9,一维数组,例3.2 输入年、月、日,输出该天是这一年的第几天。,一维数组,为什么多了一个0?,例3.3 下面两个程序没有初始化数组,观察程序默认的数组变量初值。 如果数组定义放在int main()之内,其初始值是随机的。,一维数组,例3.4 写出下面程序的运行结果。 当给数组的部分元素赋初值后,其他元素的初值自动赋0值。,一维数组,可以使用memset函数给数组变量赋初值。 需要#include 头文件,一维数组,排序:选择排序、冒泡排序、插入排序、计数排序、快排序 例3.5 输入n个数,将n个数
3、按从小到大的顺序输出(n=1000),一维数组,例3.6 输入n个数,存入数组a中,每一个数都是介于0到k之间的整数,此处k为某个整数(n=100000,k=1000),按从小到大的顺序输出a数组的数据。,一维数组,利用C+自带的库函数进行排序 需要include 头文件 格式:sort(first,last,comp),first是待排序数组的开始地址,last是结束地址,是一个左闭右开区间,即first,last),comp函数是数组中元素先后次序的判断依据。,一维数组,例3.7 从键盘读入10个数,然后从小到大输出。,一维数组,例3.8 从键盘读入10个数,然后从大到小输出。,一维数组,
4、例3.9 成绩排序。给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。 输入格式:第一行为n (0 n 20),表示班里的学生数目;接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。 输出格式:把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。,一维数组,注意参数,定义: 类型名 数组名常量表达式1常量表达式2; 例如:int num46;,二维数组,例3.10 杨辉三角是一个由数字排列成的三角形数表,一般形式如下: 1 1 1
5、1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 输入数据:一个正整数n,表示三角形的行数。 输出数据:n行杨辉三角形,二维数组,分析:从第3行开始,每行第1个和最后1个值为1,其他值为其上方和左上方数字和。 设二维数组cij存储行坐标为i、列坐标为j位置上元素值,则cij=ci-1j-1+ci-1j。,二维数组,字符数组的定义格式: char 数组名元素个数; 例3.11 写出下面程序的运行结果。,字符数组,在使用双引号初始化时,字符个数必须比所定义的数组元素个数少1,因为数组的最后一个位置用
6、来存放字符“0”。,例3.12 在应用计算机编辑文档的时候,我们经常遇到替换任务。例如把文档中的“电脑”都替换成“计算机”。现在请你模拟一下这个操作。 输入两行内容,第1行是原文(长度不超过200个字符),第2行包含以空格分隔的两个字符A和B,要求将原文中所有的字符A都替换成字符B。 输入样例: I love China. I love Beijing. I U 输出样例: U love China. U love Beijing.,字符数组,分析:先将给定的原文保存在字符数组里,然后从头开始寻找字符A,找到一个字符A,便将其替换成B输出。,字符数组,循环体为空,可以省略吗?,字符数组可以作为
7、字符串整体进行输入和输出。 scanf(“%s”,字符串名称); 字符串名称前不加 输出项只能是字符串,不能是数组元素; 输出字符串不包括字符串结束标志符0。,字符数组,例3.13 对给定的10个国家名,按其字母的顺序输出。,字符数组,字符数组,例3.14 在屏幕上输出:Hello world!。,字符串,字符串,例3.15 屏幕提示输入姓名(input name:),键盘输入你的姓名XXX,在屏幕上输出:my name is:XXX。,字符串,定义,头文件,cin读入字符串时,空格和换行符都被认为是字符串的结束,例3.16 过滤多余的空格。一个句子中也许有多个连续空格,过滤掉多余的空格,只留
8、下一个空格。 输入格式:1行,一个字符串(长度不超过200),句子的头和尾都没有空格。 输出格式:过滤之后的句子。 输入样例: Hello world. This is c language. 输出样例: Hello world. This is c language.,字符串,分析: 如何判断读入结束? while (cintemp)的功能是 循环读入数据,在读不到的 时候停止循环。 字符串如何连接? 用“+”连接两个字符串。 注意:两个字符串常量是不能 用“+”连接的。例:string s=“abc”+“def”;,字符串,例3.17 统计数字字符个数。输入1行字符,统计出其中数字字符的个
9、数。 输入格式:1行字符串,总长度不超过255。 输出格式:输出为1行,输出字符串里面数字字符的个数。 输入样例: Peking University is set up at 1898. 输出样例: 4,字符串,分析 读入1行字符放入一个字符串变量,再判断每个字符是否是数字。 如果输入的1行字符串中有空格,可以用getline函数读入,getline函数默认是碰到换行符才结束。,字符串,string类型的成员函数: 成员函数是指某个类型的特有函数; 成员函数调用方式是:变量名.函数名(参数)。,字符串,例3.18 选择你喜爱的水果。程序中保存了七种水果的名字,要求用户输入一个与水果有关的句子
10、。程序在已存储的水果名字中搜索,以判断句子中是否包含七种水果的名称。如果包含,则用词组“Brussels sprouts”替换句子中出现的水果单词,并输出替换后的句子。如果句子中没有出现这些水果的名字,则输出“You must not enjoy fruit.”。假设七种水果的名字为:apples,bananas,peaches,cherries,pears,oranges,strawberries。 输入格式:有多行,每行是一个字符串(长度不超过200)。每行输入中只会有一个水果名称,不会存在1行输入包含多种水果名称或重复水果名称的情况。 输出格式:如果包含水果单词,则用词组“Brussels sprouts”替换句子中出现的水果单词,并输出替换后的句子。如果句子中没有出现这些水果的名字,则输出“You must not enjoy fruit.”。,字符串,输入样例: I really love peaches on my cereal. Id rather have a candy bar apples are wonderful with lunch 输出样例: I really love Brussels sprouts on my cereal. You must not enjoy fruit. Brussels sprouts
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Brand KPIs for milk:Silk in the United States-英文培训课件2025
- 小学生笔画课件
- 2025年新高一英语人教新版尖子生专题复习《完形填空》
- 口才课自我介绍课件视频
- 2025年金融行业AI伦理监管政策执行与效果评估报告
- 乡镇流动厨师管理办法
- 企业协议酒店管理办法
- 云南烟草品牌管理办法
- 乡镇融资项目管理办法
- 乡镇大型水库管理办法
- 肩袖修补术护理
- 政府委托代建合同范本
- DB37-T 1933-2022 氯碱安全生产技术规范
- 人教版英语九年级全一册单词表(合订)-副本
- 印章保管责任书
- 《论坛运营社区运营》课件
- 骨科降低卧床患者便秘发生率医院护理质量QCC改善案例
- 2025年上海市各区高三语文一模试题汇编之文言文二阅读(含答案)
- 低钠血症的中国专家共识2023解读
- 办公机器和设备出租行业现状分析及未来三至五年行业发展报告
- 楼面找平层裂缝修复方案
评论
0/150
提交评论