- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
例3.6 输入n个数,存入数组a中,每一个数都是介于0到k 之间的整数,此处k为某个整数(n<=100000,k<=1000 ),按从小到大的顺序输出a数组的数据。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
利用C++自带的库函数进行排序 需要include <algorithm>头文件 格式:sort(first,last,comp),first是待排序数组的开始 地址,last是结束地址,是一个左闭右开区间,即 [first,last),comp函数是数组中元素先后次序的判断依 据。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
例3.7 从键盘读入10个数,然后从小到大输出。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
例3.8 从键盘读入10个数,然后从大到小输出。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
例3.9 成绩排序。给出班里某门课程的成绩单,请你按成绩从高到低对成 绩单排序输出,如果有相同分数则名字字典序小的在前。
格式:类型名 数组名[常量表达式]={值1,值2,……} 例如:
int a[10]={0,1,2,3,4,5,6,7,8,9} 相当于:a[0]=0;a[1]=1;a[2]=2;……;a[9]=9
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
例3.2 输入年、月、日,输出该天是这一年的第几天。 为什么多了一个0?
[0,2] [1,2] [2,2] [3,2]
[0,3] [1,3] [2,3] [3,3]
[0,4] [1,4] [2,4] [3,4]
[0,5] [1,5] [2,5] [3,5]
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
二维数组
例3.10 杨辉三角是一个由数字排列成的三角形数表,一
第三讲-数组、字符串分析
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
例3.1斐波那契数列指的是这样一个数列:0、1、1、2、3 、5、8、13、21、……求数列的前20项并按从大到小的顺 序输出。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
初始化:在定义一个一维数组的同时,可以给数组中的元 素赋初值。
数必须比所定义的数组元素个数 少1,因为数组的最后一个位置
用来存放字符“\0”。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
字符数组
例3.12 在应用计算机编辑文档的时候,我们经常遇到替换任务。例如把 文档中的“电脑”都替换成“计算机”。现在请你模拟一下这个操作。
输入两行内容,第1行是原文(长度不超过200个字符),第2行包含以 空格分隔的两个字符A和B,要求将原文中所有的字符A都替换成字符B。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
注意参数
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
二维数组
定义: 类型名 数组名[常量表达式1][常量表达式2];
例如:int num[4][6];
[0,0] [1,0] [2,0] [3,0]
[0,1] [1,1] [2,1] [3,1]
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
例3.3 下面两个程序没有初始化数组,观察程序默认的数 组变量初值。
如果数组定义放在int main()之内,其初始值是随机的。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
例3.4 写出下面程序的运行结果。
当给数组的部分元素赋初值后,其他元素的初值自动赋0值 。
设二维数组c[i][ j]存储行坐标为i、列坐标为j位置上元素 值,则c[i][ j]=c[i-1][ j-1]+c[i-1][ j]。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
字符数组
字符数组的定义格式: char 数组名[元素个数];
例3.11 写出下面程序的运在行使用结双果引。号初始化时,字符个
般形式如下: 1 11 121 1331 14641 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 输入数据:一个正整数n,表示三角形的行数。 输出数据:n行杨辉三角形
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
二维数组
分析:从第3行开始,每行第1个和最后1个值为1,其他 值为其上方和左上方数字和。
可以省略吗?
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
字符数组
字符数组可以作为字符串整体进行输入和输出。 scanf(“%s”,字符串名称);
字符串名称前不加&; 系统会自动在输入的字符串常量后添加’\0’; 输入多个字符串时,以空格分隔。
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
可以使用memset函数给数组变量赋初值。 需要#include <cstring>头文件
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
一维数组
排序:选择排序、冒泡排序、插入排序、计数排序、快排序…… 例3.5 输入n个数,将n个数按从小到大的顺序输出(n<=1000)
输入样例: I love China. I love Beijing. IU
输出样例: U love China. U love Beijing.
江苏省青少年信息学奥林匹克冬令营(C语言班)-金中河西
字符数组
分析:先将给定的原文保存在字符数组里,然后从头开始寻 找字符A,找到一个字符A,便将其替换成B输出。 循环体为空
输入格式:第一行为n (0 < n < 20),表示班里的学生数目;接下来的n 行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包 含字母且长度不超过20,成绩为一个不大于100的非负整数。
输出格式:把成绩单按分数从高到低的顺序进行Baidu Nhomakorabea序并输出,每行包含 名字和分数两项,之间有一个空格。