数组
1.定义与初始化
可以存放一定数量的相同元素的组合,通过下标进行访问,从0开始。
int a[10]; //随机赋值
int a[5] = {2,5,8,3,6};
int a[5] = {1,3}; //其余赋值0
int a[] = {3,6,9,8}; //初始化5个,数组大小自动设定为5.
2.访问修改元素
cout << a[0];
a[0] = 99;
cin >> a[0];
cout << a[0];
3.遍历数组
for(int i=0;i<10;i++)
cout << a[i];
循环输入数组元素
逆序遍历数组
声明一个大小为10的整数数组,通过cin为每个元素赋值,求数组元素之和。
int a[10],i = 0;
while(i<10 && cin>>a[i])
i++;
for(int j=0;j<10;j++)
cout << a[j] << " ";
4.数组的插入和删除
删除数组中下标为3的元素
int a[7] = {9,5,8,6,2,4,8};
for(int i=3;i<7;i++)
a[i] = a[i+1];
for(int i=0;i<7;i++)
cout << a[i] << " ";
在数组开头插入数字9
int a[5] = {4,5,6,7,8};
for(int i=4;i>=0;i--)
a[i+1] = a[i];
a[0] = 0;
for(int i=0;i<5;i++)
cout << setw(3) << a[i];
将数组最后一位插入到下表为2的位置
int a[5] = {1,2,3,4,5};
int t = a[4];
for(int i=4;i>=2;i--)
a[i] = a[i-1];
a[2] = t;
for(int i=0;i<5;i++)
cout << setw(3) << a[i];
5.将数组的元素逆序排放
int a[5] = {1,2,3,4,5};
for(int i=0;i<5/2;i++){
int t = a[i];
a[i] = a[4-i];
a[4-i] = t;
// swap(a[i],a[4-i]);
}
// cout << sizeof(a)/sizeof(a[0]) << endl;
for(int i=0;i<5;i++)
cout << setw(3) << a[i];
6.求数组中最大值和最小值之间的距离(下标差的绝对值)
int n;
cin >> n;
int a[n];
for(int i=0;i<n;i++)
cin >> a[i];
int Max=a[0],Min=a[0];
for(int i=0;i<n;i++)
if(a[i]>Max)
Max = i;
else if(a[i]<Min)
Min = i;
Max>Min ? cout<<Max-Min : cout << Min-Max;
7.计算数组平台中,连续数值相同的元素个数
int a[] = {1,2,2,2,2,3,3,3,3,3,4,5,5,5,6,6};
int n=1,max=0;
for(int i=1;i<sizeof(a)/sizeof(a[0]);i++){
if(a[i] == a[i-1]){
n++;
}else{
n = 1;
}
if(n>max)
max = n;
}
cout << max;
8.输出一个数组中的所有质数
int i,x = 7;
for(i=2;i<x;i++){
if(x%i==0){
break;
}
}
if(i>=x){
cout << x;
}