数组
一、知识点:
数组:是一组具有相同类型的变量的组合。可用于保存大量同类型的相关数据。也指按顺序排列的一组同种类型的数据所构成的集合。一个数组在内存中占一片连续的存储空间。数组名不仅表示名称。而且还表示首地址。注意:数组下标从零开始。
一维数组的定义初始化:数组定义后的初值仍是随机数,一般需我们来初始化。下标越界是大忌。
二维数组:指的是一维数组元素的类型也是一维数组时的情况。
对于字符数组和字符串类型:同一维数组和二维数组,不过要注意字符要用单引号引起来。字符串要以反斜杠零结束。
二、补充:
①memset(a,0,sizeof(a))的作用是将数组清零
②定义全局数组
③bool类型 可节省空间,只包含“两面”
④预处理
三、题目总结:
自己的亮点
⑴#include<iostream>
#include<algorithm>
using namespace std;
int a[1010];
int main()
{
int n,i,j,k,m;
cin>>n;
for(i=0;i<n;i++)
{cin>>a[i];}
sort(a,a+n);
m=0;
for(i=0;i<n-2;i++)
{ for(j=i+1;j<n-1;j++)
{ for(k=j+1;k<n;k++)
{ if(a[k]==a[i]*a[j])
{m+=1;}
}
}
}
cout<<m;
}
⑵#include<iostream>
using namespace std;
bool a[10001];
int main()
{
int i,j,L,M,B,E,t;
cin>>L>>M;
for(j=0;j<=L;j++)
a[j]=1;
for(i=0;i<M;i++)
{cin>>B>>E;
for(j=B;j<=E;j++)
a[j]=0;
}t=0;
for(j=0;j<=L;j++)
{if(a[j]!=0)
t+=1;
}
cout<<t<<endl;return 0;
}
⑶#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
int a[3001],b[3001];
int main()
{
int n,i,s;
cin>>n;
if(n==1)
cout<<"Jolly";
else
{ for(i=0;i<n;i++)
{cin>>a[i];}
for(i=0;i<n-1;i++)
{b[i]=fabs(a[i]-a[i+1]);}
sort(b,b+n-1);
s=0;
for(i=0;i<n-2;i++)
{ while(b[i+1]-b[i]==1)
{ s+=1;break;}
} if(s==n-2)
cout<<"Jolly"<<endl;
else
cout<<"Not jolly"<<endl;
}
return 0;
}
需注意的
⑴#include<iostream>
using namespace std;
int main()
{
int i,j,k,b,c,a[101][101],max,min;
for(i=1;i<=5;i++)
{for(j=1;j<=5;j++)
{cin>>a[i][j];}
}
for(i=1;i<=5;i++)
{ max=a[i][1];b=1;
for(j=1;j<=5;j++)
{if(max<=a[i][j])
{max=a[i][j];b=j;}
}
min=max;
for(k=1;k<=5;k++)
{if(min>=a[k][b])
{min=a[k][b];c=k;}
}if(max==min)
{cout<<c<<" "<<b<<" "<<min<<endl;break;}
}
if(max!=min)
cout<<"not found";}
⑵#include<iostream>
using namespace std;
int main()
{
int i,j,t,n,m;
char c[101][101]={'*','?'};
cin>>n>>m;
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{cin>>c[i][j];}
}
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{if(c[i][j]=='*')
{ cout<<"*";}
else if(c[i][j]=='?')
{ t=0;
if(c[i][j-1]=='*')t++;
if(c[i][j+1]=='*')t++;
if(c[i+1][j]=='*')t++;
if(c[i-1][j]=='*')t++;
if(c[i+1][j+1]=='*')t++;
if(c[i-1][j-1]=='*')t++;
if(c[i-1][j+1]=='*')t++;
if(c[i+1][j-1]=='*')t++;
cout<<t;}}cout<<endl;}
}