0、问题
(1)输入5个数字,逆序打印出这5个数字
(2)输入50个数字,逆序打印出这50个数字。
(3)输入n个数字,逆序打印出这n个数字。
1、数组是什么?
数组是存储一个固定大小的相同类型元素的顺序集合。
2、数组怎么用?
2.1 定义数组
(1)语法
类型 数组名[元素个数];
(2)例子
int days[12];
2.2 初始化数组
(1)语法
类型 数组名[元素个数] = {
值1,值2,值3,值4,等等};
(2)例子
int days[12]={
31,28,31,30,31,30,31,31,30,31,30,31};
(3)简化
初始化数组可以不指定数组大小,此时数组的大小则为初始化时元素的个数。例如:
int days[]={
31,28,31,30,31,30,31,31,30,31,30,31};
这种初始化的方式被称为数组的集成初始化。
2.3 访问数组元素
访问就是读写
数组元素可以通过数组名称加索引(下标)进行访问。元素的索引(下标)是放在方括号内,跟在数组名称的后边。注意:数组的索引(下标)是从0开始。
(1)语法
数组名[索引];
每个数组元素都是一个变量,变量的类型就是数组声明时的类型。
数组元素可以在赋值的左边或者右边。
(2)例子
// 获取一月份的天数
int n = days[0];
// 修改二月份的天数
days[1]=29;
// 打印一月份的天数
printf("%d",days[0]);
2.4 数组遍历
(1)基本套路
for (int i=0;i<n;i++){
// 依次生成从0~n-1个数组索引
arr[i] // 访问数组的每一个元素
}
(2)练习
按顺序打印月份与对应的天数
#include <stdio.h>
int main(){
int days[]={
31,28,31,30,31,30,31,31,30,31,30,31};
int i=0;
for(i;i<12;i++){
printf("第%d月的天数为%d\n",i+1,days[i]);
}
}
2.5 数组输入
(1)案例
int n;
scanf("%d",&n);
int arr[n];
for (int i=