C09-4.13一维数组
原题链接:38471.note12025-04-13 18:59:02
发布于:江苏
一、作业回顾
T1: 找最小值
同课堂案例打擂台的方法
#include<iostream>
using namespace std;
int main()
{
int mini = 5000;
int n, a;
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> a; //临时变量
if(a < mini)
{
mini = a;
}
}
cout << mini;
return 0;
}
T2: 奇顺偶逆
分组输出, 定义两个变量分别表示奇数和偶数进行奇数和偶数的控制。
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
int j=n;
for(int i=1; i<=n; i+=2){
cout << i << ' ' << j <<' ';
j-=2;
}
return 0;
}
//1 10 、3 8、 5 6、 7 4、 9 2
二、一维数组
数组是通过下标来进行访问的。下标也是唯一的。
#include<iostream>
using namespace std;
const int N = 1e3; //科学计数法 1e3 = 1000
int main(){
int a[8]; //未初始化(随机数)
int a[8] = {}; //初始化0
int a[8] = {1}; //1 都是0
int a[8] = {1,2,3,4,5,6}; //部分初始化
int a[N];
//严禁以下写法
int n;
cin >>n;
int a[n];
return 0;
}
1. 常量
const int a = 123; //常量 const 不可以被修改
a = 246;
cout << a << endl;
2. 数组的输出
#include<iostream>
using namespace std;
int main(){
int a[] = {1, 9, 2, 3, 5, 6, 8, 19, 20, 44, 66, 129, 361, 748, 135};
int n;
cin >> n;
cout << a[n];
return 0;
}
3. 小数的数组输入输出
#include<iostream>
using namespace std;
int main(){
double a[3338] = {};
int n;
cin >> n;
//循环输入n个小数
for (int i=1; i<=n; i++)
cin >> a[i];
//循环输出n个小数
for (int i=1; i<=n; i++)
printf("%.2lf ", a[i]); //\n表示换行 (转义字符)
return 0;
}
三、数组练习
实例1:摘苹果
#include<iostream>
using namespace std;
int main(){
int n, a[100005] = {};
cin >> n;
for (int i=1; i<=n; i++) cin>>a[i]; //输入n个苹果的高度
int h, s, cnt = 0;
cin>>h>>s;
for (int i=1; i<=n; i++){
if ((h+s) >= a[i]){
cnt++;
}
}
cout << cnt;
return 0;
}
实例2:向下取整的平均分
#include<iostream>
using namespace std;
int main()
{
int n, a[1005] = {}, sum = 0;
cin >> n;
for (int i=1; i<=n; i++){
cin >> a[i];
sum += a[i];
}
cout << sum / n;
return 0;
}
四、作业思路提示
BCT1 期末分
定义两个数组用来存储语文和数学的成绩,注意输入的时候需要两个循环分开输入, 不要忘记最开始n的输入
存好了之后输出直接一一对应输出 cout << a[i] + b[i] <<" ";即可, 注意空格。
BCT2 购物
一定要注意输入的顺序,按照输入的顺序进行代码编写, 直接循环从x到y 即可, 循环体内累加求和。
BCT3 不一样的烟火
有点意思。
先找到突变点, 也就是a[i] != a[i+1]的位置, 那么结果就是这两个数之前的任意 一个,最后统计这两个数出现的次数, 其实只要统计一个就可以了,谁出现的次数是2,那就是这个数, 否则就是另外一个数。
这里空空如也
有帮助,赞一个