- gf25012 的博客
《碧玉澜诗·C++》其一--2025.07.17:一维数组
- @ 2025-7-17 21:42:12
一维数组
-
定义数组:int a[10];
-
数组的访问:a[5],a[i],a[i+2]
-
访问不能出界:(上面的例子不能访问a[10],a[-1])
-
数组的输入输出
for(int i=1;i<=n;i++){cin>>a[i];}
for(int i=1;i<=n;i++){cout<<a[i];}
for(int i=n;i>=1;i--){cout<<a[i];}
-
数组名不能直接赋值:错误:a=b,a>b,a==b;正确:a[i]=a[j],a[3]>b[5]
-
数组的增删改查:
①:增
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,a[105],x,y;
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a[i];
}
cin>>x>>y;
for(int i=n; i>=x; i--) {
a[i+1]=a[i];
}
a[x]=y;
for(int i=1; i<=n+1; i++) {
cout<<a[i]<<' ';
}
return 0;
}
②:删
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,a[105],x,y;
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a[i];
}
cin>>x;
for(int i=x; i<n; i++) {
a[i]=a[i+1];
}
n--;
for(int i=1; i<=n; i++) {
cout<<a[i]<<' ';
}
return 0;
}
③:改
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,a[105],x,y;
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a[i];
}
cin>>x>>y;
a[x]=y;
for(int i=1; i<=n; i++) {
cout<<a[i]<<' ';
}
return 0;
}
④:查
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,a[105],x;
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a[i];
}
cin>>x;
for(int i=1; i<=n; i++) {
if(a[i]==x) {
cout<<a[i]<<' ';
}
}
return 0;
}
- 连续上升的最高天数

#include<bits/stdc++.h>
using namespace std;
int main() {
int n,a[10005],c=1,ans=0;
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a[i];
}
for(int i=2; i<=n; i++) {
if(a[i]>a[i-1]) {
cnt++;
} else {
if(c>ans) {
ans=c;
}
c=1;
}
}
if(c>ans) { //判段最后一段是否是最长的一段
ans=c;
}
cout<<ans;
return 0;
}