20241115-C05-一维数组
原题链接:33673.徐沐瑶专属笔记C++2024-11-15 20:37:05
发布于:江苏
#if 0
#[学习目标]#:
1.一维数组的定义以初始化
2.数组的下标概念
3.数组+for循环的遍历
4.数组练习
一、 回文数的判断
/*
n = 1234
m = 0 //4321
m = n%10 // 4
n /= 10; //n = 123
n%10 // 3
m = m*10 + n%10 //43
n /= 10 // n = 12
*/
int n, m = 0;
cin >> n;
int tmp = n; //备份一下n的值, 因为最后n变为了0.
//将n进行了反转之后存到m上
while (n){
m = m*10 + n%10;
n /= 10;
}
// cout << m << endl;
if(m == tmp)
cout << "YES";
else
cout << "NO";
二 、array (数组)
1. 数组的定义以及访问
// int a[5] = {1,2,3,4,5}; //常规初始化
// int a[5] = {1,2,3,4,5,6}; //越界初始化:报错
// int a[5] = {1}; //部分初始化,其他部分都是0
// int a[5] = {0};
// int a[5] = {}; //初始化为 0
int a[5]; //不初始化的结果为 随机数
cout << a[0] << endl << a[1] << endl;
cout << a[2] << endl << a[3] << endl;
// cout << a[5] << endl; //越界访问:不报错
//i:下标,index,索引 :默认从0开始,不会是负数
//遍历, 枚举
for (int i=0; i<5; i++){
cout << a[i] << " ";
}
2.数组的输入输出
int n, a[105] = {};
cin >> n;
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] << ' ';
3. 打擂台找最大值
/*
6
12 67 2 7 1 5
67
*/
int n, a[105] = {};
cin >> n;
for (int i=1; i<=n; i++)
cin>>a[i];
//最大值-打擂台的方法:
int leizhu = a[1]; //先假设第一个人是擂主
for (int i=2; i<=n; i++){
if (a[i] > leizhu){ //如果挑战者a[i]>leizhu,那么更新最大值
leizhu = a[i];
}
}
cout << leizhu;
#endif
这里空空如也
有帮助,赞一个