1、项目需求:
学校有两个专业,每个专业有两个班级,每个班级有五个座位
1、专业一:物理;专业二:计算机
2、两个班级:1班,2班
3、五个座位:1号,2号……5号
准备三维数组,将每一个学生安排到没一个作为上
并遍历数组,输出每个专业、每个班。每个座位分配的学生姓名
2、代码实现
#include "iostream"
#include "random"
using namespace std;
/*
* 项目需求:
* 学校有两个专业,每个专业有两个班级,每个班级有五个座位
* 1、专业一:物理;专业二:计算机
* 2、两个班级:1班,2班
* 3、五个座位:1号,2号……5号
* 准备三维数组,将每一个学生安排到没一个作为上
* 并遍历数组,输出每个专业、每个班。每个座位分配的学生姓名
*/
int get_random_num12(int min,int max) {
//创建一个随机数生成器
random_device rd;
mt19937 gen(rd());
//定义一个均匀分布的整数范围
uniform_int_distribution<>dis(min,max);
//生成一个随机数并输出
int random_number = dis(gen);
return random_number;
}
int main() {
//姓名数组
string names[] = {"weiliang","baobao","lele","jiejie","xiaoyu","tantan","le","dlks","kdjf","jdskl",
"jdslkjf","df","oi","dsf","rwer","kei","xiaozhang","xcv","deg","ert",
"fdsf","cv","er","qer","wer","wer","waret","gsrhr","grgrg","grgrge",
"rgerg","dfsf","dsff","rgrg","ngh","rgfhgh","sfgwwg","frwgr","ioip","qeer",
"slfjsl","dsfs","dsllo","dskflksd","sdjf","wreer","wmnk","werrn","qwem","qwert"};
//生成2*2*5的随机数组
string arr[2][2][5];
for (int i=0;i<sizeof(arr)/sizeof(arr[0]);i++) { //动态计算数组的长度
for (int j=0;j<sizeof(arr[0])/sizeof(arr[0][0]);j++) {
for (int k=0;k<sizeof(arr[0][0])/sizeof(arr[0][0][0]);k++) {
string major = i==0 ? "物理":"计算机";
string class_name = j==0 ? "1班":"2班";
int seat_number = k + 1;
string name = names[get_random_num12(0,sizeof(names)/sizeof(names[0])-1)];
string msg = major + "专业" + class_name + "座位号为:" + to_string(seat_number) + "的同学叫" + name;
arr[i][j][k] = msg;
}
}
}
cout << "信息准备完成,现在开始输出" <<endl;
for (int i=0;i<sizeof(arr)/sizeof(arr[0]);i++) {
for (int j=0;j<sizeof(arr[0])/sizeof(arr[0][0]);j++) {
for (int k=0;k<sizeof(arr[0][0])/sizeof(arr[0][0][0]);k++) {
cout << arr[i][j][k] <<endl;
}
}
}
return 0 ;
}