为什么使用数组
int a, b, c, d;
int a1, a2, a3, a4, a5, a6, a7....;
int a[100]; //定义100个int类型
a[0], a[1], a[2], a[3], a[4]...
[0][1][2][3][4][5][6][7]...
//连续地址空间存储的
//静态数组,大小是静态固定的,上来就要告诉计算机,我需要100个连续的int空间
//然后,我想用几个就用几个。但是,千万不能要超。
//a[0] ... a[99],这些是100个,但不能用a[100],这是第101个
//因为,a[101]这个位置,计算机可能存储了其他的东西,有可能是危险的东西(越界访问)
一维数组
#include <iostream>
using namespace std;
int a[10]; //全局变量,初始值默认是0
int n;
int main()
{
int b[10]; //局部变量,初始值是计算机随机给的
cin >> n;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < n; i++) cout << a[i] << ' ';
cout << '\n';
return 0;
}
// 逐步养成下面的代码编写风格
// 学习三个月以上的,需要强制转变自己的代码风格,无需多言
#include <iostream>
#include <cstdio>
using namespace std;
const int N = 1e5 + 10;
int a[N], b[N];
int n;
int main()
{
cin >> n;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < n; i++) cout << a[i] << ' ';
puts("");
return 0;
}
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
int a[n];
return 0;
}
int a[5] = {1, 2, 3, 4, 5};
a[-1]; // 这是不对的,下标不能是负数
memset(a, 0, sizeof a); // 把a[i]全部置成0
memset(a, 0x3f, sizeof a); // 把a[i]全部置成0x3f3f3f3f
例题,2034:【例5.1】反序输出
#include <iostream>
#include <cstdio>
using namespace std;
int a[110], n;
int main()
{
//freopen("1.in", "r", stdin);
int x;
while (cin >> x){
a[n++] = x;
}
for (int i = n - 1; i >= 0; i--) printf("%d ", a[i]);
puts("");
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int a[110];
int n, k;
int main()
{
cin >> n;
for (int i = 0; i < n; i++) cin >> a[i];
cin >> k;
int cnt = 0;
for (int i = 0; i < n; i++)
if (a[i] == k) cnt++;
cout << cnt << endl;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n;
int a, b, c, d;
int main()
{
cin >> n;
for (int i = 0; i < n; i++)
{
int x;
cin >> x;
if (x <= 18) a++;
if (x >= 19 && x <= 35) b++;
if (x >= 36 && x <= 60) c++;
if (x >= 61) d++;
}
printf("%.2lf%%\n", 1.0 * a / n * 100);
printf("%.2lf%%\n", 1.0 * b / n * 100);
printf("%.2lf%%\n", 1.0 * c / n * 100);
printf("%.2lf%%\n", 1.0 * d / n * 100);
return 0;
}
// 原题
// 用一个数组,来表示这一段马路
// 一个一个点,就可以表示是否有树的状态了
// 方法一,模拟
// 方法二,数学
// 认真读题,看来,我们要预处理出来fmax