🧛♂️iecne个人主页::iecne的学习日志
💡每天关注iecne的作品,一起进步
💪一起学习,必看iecne
🐳希望大家多多支持🥰一起进步呀!
文章目录
- 一.定义方式
- 1.1 逐个定义
- 1.2 定义赋值
- 1.3 定义赋值*2
- 二.二维数组
- 三.基本样例
- 3.1 输入输出成绩
- 3.2 比大小
- 总结
一.定义方式
二维数组就是在一维数组上多加一个维度。
建议:以下三种定义方式,利用第二种更加直观,提高代码可读性
1.1 逐个定义
#include <iostream>
using namespace std;
int main()
{int arr[2][3];arr[0][0] = 1;arr[0][1] = 2;arr[0][2] = 3;arr[1][0] = 4;arr[1][1] = 5;arr[1][2] = 6;for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){cout << arr[i][j] << endl;}}
}
1.2 定义赋值
第二种就是在定义一个数组的时候直接开始赋值
具体如下
int arr2[2][3] ={{1,2,3},{4,5,6}};for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){cout << arr2[i][j] <<" ";}cout << endl;}
1.3 定义赋值*2
int arr3[2][3] = { 1,2,3,4,5,6 };for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++){cout << arr3[i][j] <<" ";}cout << endl;}
这里输出的就是
1 2 3 4 5 6
大部分基本就是这样了
二.二维数组
比如定义一个三行四列的二维数组
这里我们就有12个可以储存数据
当然我们也可以不把0为开头,和一维数组同理哈
实际上可以这样比喻:一维数组是一列格子,二维数组就是一个长方形,每一个像素都是一个格子
三.基本样例
3.1 输入输出成绩
我们可以想想,若一个班有三个学生,每个学生需要学 语数英科 四门学科,也就是我们需要统计12门学科
那么我们应该如何模拟呢?
比如一个班有张三、李四、王五三个学生那么就应该这样:
#include <iostream>
using namespace std;
int main()
{int clas[3+5][4+5];return 0;
}
这里我们注意一下,定义一个数组的时候一定要多开 10或者5,但是至少要>1,否则可能越界,就是会超过我们数组,导致运行错误
所以我们直接开clas[8][9]即可
接下来我们输入
#include <iostream>
using namespace std;
int main()
{int clas[3+5][4+5];cout << "请输入张三的成绩";for (int i = 1; i <= 4; i++){cin >> clas[1][i];}cout << "请输入李四的成绩";for (int i = 1; i <= 4; i++){cin >> clas[2][i];}cout << "请输入王五的成绩";for (int i = 1; i <= 4; i++){cin >> clas[3][i];}return 0;
}
接下来我们完成输出
#include <iostream>
using namespace std;
int main()
{int clas[3+5][4+5];cout << "请输入张三的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[1][i];}cout << "请输入李四的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[2][i];}cout << "请输入王五的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[3][i];}cout << endl << "张三的成绩:" << endl;for (int i = 1; i <= 4; i++){cout << clas[1][i] << " ";}cout << endl << "李四的成绩:" << endl;for (int i = 1; i <= 4; i++){cout << clas[2][i] << " ";}cout << endl << "王五的成绩:" << endl;for (int i = 1; i <= 4; i++){cout << clas[3][i] << " ";}return 0;
}
如此
我们就完成了三人四科的输入输出
3.2 比大小
比大小这块我们就需要再输入的时候改造改造,并且用到max函数和min函数
输入同理
#include <iostream>
using namespace std;
int main()
{int clas[3+5][4+5];cout << "请输入张三的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[1][i];}cout << "请输入李四的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[2][i];}cout << "请输入王五的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[3][i];}return 0;
}
接下来我们定义三个s用来统计信息,并且再统计最大和最小
#include <iostream>
using namespace std;
int main()
{int clas[3+5][4+5];int s[3 + 5];cout << "请输入张三的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[1][i];s[1] += clas[1][i];}cout << "请输入李四的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[2][i];s[2] += clas[2][i];}cout << "请输入王五的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[3][i];s[3] += clas[3][i];}int maxs = max({ s[1], s[2], s[3] });int mins = min({ s[1],s[2],s[3] });return 0;
}
最后输出完善
#include <iostream>
using namespace std;
int main()
{int clas[3+5][4+5];int s[3 + 5];cout << "请输入张三的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[1][i];s[1] += clas[1][i];}cout << "请输入李四的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[2][i];s[2] += clas[2][i];}cout << "请输入王五的成绩" << endl;for (int i = 1; i <= 4; i++){cin >> clas[3][i];s[3] += clas[3][i];}int maxs = max({ s[1], s[2], s[3] });int mins = min({ s[1], s[2], s[3] });cout << "总分最好的是" << maxs;;cout << endl;cout << "总分最差的是" << mins;return 0;
}
但是如果s[]有多个一样就只能去重了,有多种方法比如用bool类标记输出或等……
总结
本节课主要是讲解了C++的教程,至此该课示例的思想博主已经真真切切彻彻底底分享完了,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下,包教包会。若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!
帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!
原创不易,还希望各位大佬支持一下
点赞,你的认可是我创作的动力!
收藏,你的青睐是我努力的方向!
评论,你的意见是我进步的财富!
感谢每一个观看本篇文章的朋友,更多精彩敬请期待~( ̄▽ ̄~)~:
iecne的博客
若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!