数组:一维数组 二维数组 多位数组
一维数组(线性结构)
声明一维数组: 类型 名字【长度】 例如:int a[10] 长度为10的数组 #注意 数组里的数据必须都是声明的时候的类型
每项都有一个编号,这个编号叫下标 下标是从0开始到n-1 (n为长度)
几个函数:
1、memset(a,b,c) a:初始化某个数组的名称 b:初始化的值(一般为0,不然会乱码) c:长度(字节数)
2、sizeof(x) 数组x的长度(字节数)
也可以这样先赋初值:
int a[2]={2,3}
int 最大长度100000个数(电脑内存和兼容性)
char 最大长度 2^64 -1
例题1:(东方博宜1158)输入n和n个数,第一行输出所有的奇数,第二行输出偶数:
输入:
10
21 12 33 43 59 68 77 18 19 40
输出:
21 33 43 59 77 19
12 68 18 40
参考程序:
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
string odd="",even="";
cin>>n;
int a[n];
for(int i=0; i<n; i++) {
cin>>a[i];
if(a[i]%2==1) {
odd+=to_string(a[i]);
odd+=" ";
} else {
even+=to_string(a[i]);
even+=" ";
}
}
cout<<odd<<endl<<even;
}
例题2:(东方博宜1152)求n个数的最大数和最小数:
输入:
5 1 99 3 6 0
输出:
99 0
参考程序:
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,ma=INT_MIN,mi=INT_MAX;
cin>>n;
int a[n];
for(int i=0; i<n; i++) {
cin>>a[i];
ma=max(ma,a[i]);
mi=min(mi,a[i]);
}
printf("%d %d",ma,mi);
return 0;
}