数组:(具有相同类型的变量的集合)
1.定义型如a【100】
但是不可以定义成a【n】,即使n已经被赋值。
其下标从零开始,构成数组的每个数据项称为数组元素,C程序通过数组的下标实现对数组元素的访问。
变量i的作用是保存数组下标。
对数组的长度的声明不能省略。
>>直接访问a就是访问此数组的首地址。
short int是十六位整数,占用两个字节。
一个数组元素占四个字节。
数组名本身是常量。
在定义数组时不能使用变量数组的大小
2.容错处理:(保证输入数据合法)
while(month<1||month>12);
3.x【i】!=x【i】非 相反操作
初始化,memset(a,0,size of (a))
所有数组数据清零
memset,只对“0,-1”发挥作用,其他数据可能出错。
在主函数外定义数组(全局数组),相当于系统自动赋了初值。(数组要定义成全局数组)
4.二维数组:
一定要输出 cout<<endl;
当初始化列表给出数组全部的元素的初值时,第一维的长度可以省略,但是第二维的长度声明不能省略。
short matrix【】【4】={1,2,3,4,5,6,7,8,9};
5.sort函数:需要头文件<algorithm>~算法
该函数排序默认按升序排列,其包含的区间为,左闭右开。
Average()传入的数值不可以是零,会发生除零错误。
例如:return sum /n;错误
应该修改为:return n>0?sum/n:-1;
数组好需要考虑会不会超时:
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
int n,b=0,i,j,z,k;
int a[1001];
cin>>n;
for (i=1;i<=n;i++)
cin>>a[i];
for (k=1;k<=n;k++)
for (j=k+1;j<=n;j++)
for (z=j+1;z<=n;z++)
if (a[k]*a[j]==a[z]||a[k]*a[z]==a[j]|| a[j]*a[z]==a[k])
b++;
cout<<b;
return 0;
}
数组的运用应该注意的地方较多,超时只是其中一部分。数组的编写比较复杂,应该多加练习,才能见到成效。
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。



