数据类型 | 说明 | 范围 |
---|---|---|
short(2个字节) |
短整型 | -32768 ~ 32767 |
int(4个字节) |
整型 | -2147483648 ~ 2147483647 |
long(8个字节) |
长整型 | -9223372036854775808L ~ 9223372036854775807L |
unsigned |
无符号数据类型 | 0 ~ 255(从0一直到255个数与上面有所区别) |
unsigned short |
无符号short类型 | 0 ~ 65535 |
unsigned long |
无符号long类型 | 0~4294967295 |
数据类型 | 说明 | 范围 |
---|---|---|
char(1字节) |
字符型 | -128 ~ 127 |
unsidned char |
无符号字符型 | 0 ~ 255(从0一直到255个数与上面有所区别) |
数据类型 | 说明 | 范围 |
---|---|---|
float(4个字节) |
单精度浮点型(浮点数有效8位,超出八位不计算) | 1.4E-45 ~ 3.4028235E38 |
double(8个字节) |
双精度浮点型(浮点数有效16位,四舍五入计算) | 4.9E-324 ~ 1.7976931348623157E308 |
数据类型 | 说明 | 范围 |
---|---|---|
bool |
布尔型(0和-0 :false,非0 :true) |
true/false |
格式:函数返回类型、函数名称、函数的参数、函数体、函数返回值
//有返回值函数 说明:开头的int是函数的返回类型,max是函数名称,max括号里面的x、y是参数,{}表示函数体,return表示函数返回值。
int max(int x, int y)
{
return x>y?x:y;
}
// 无返回值函数(实用void修饰)
void test()
{
cout << "无返回值函数!";
}
格式:函数返回类型、函数名称(参数)
#include
using namespace std;
//定义函数
int max(int x, int y)
{
return x>y?x:y;
}
int main()
{
//声明函数
int max(int,int);
return 0;
}
格式:返回值类型 变量名 = 函数名(参数);
#include
using namespace std;
//定义函数
int max(int x, int y)
{
return x>y?x:y;
}
int main()
{
//声明函数
int max(int,int);
//调用函数
int mx = max(11, 33);
cout << "打印函数返回结果:" << mx << endl;
return 0;
}
作用:if(true){执行体}
,if条件为真就执行执行体内容
if(3 > 1)
{
cout "执行体代码块执行了!";
}
作用:哪个条件为真就执行哪个执行体代码块
double fraction = 59.9;
if(fraction >=60 && fraction <=69)
{
cout << "合格,成绩一般有待提升!";
} else if(fraction >=70 && fraction <=89)
{
cout << "合格,成绩良好!";
} else if(fraction >=90 && fraction <=100)
{
cout << "这位同学您太优秀了,请你务必去打打游戏摆烂摆烂!";
} else if(fraction <0 && fraction >100)
{
cout << "成绩数据异常,请联系老师或校领导!";
} else
{
cout << "不合格,请您务必认真学习啊少年!";
}
作用:执行匹配语句块
switch (2) //参数(可以是整数或者字符串)
{
case 1: //和switch参数匹配就执行case执行体代码
{
cout << "1";
break; //跳出switch
}
case 2:
{
cout << "2";
break; //跳出switch
}
default: //如果上面匹配的值就执行默认执行体
{
cout << "default!";
}
}
注意:例如上面例子中1 2case语句块没有break;关键字跳出语句块,那么就会从第2case开启往下执行(往下执行中在遇到break;就跳出循环)!
switch (2) //参数(可以是整数或者字符串)
{
case 1: //和switch参数匹配就执行case执行体代码
{
cout << "1";
}
case 2:
{
cout << "2";
}
case 3:
{
cout << "3";
}
case 4:
{
cout << "4";
}
default:
{
cout << "default!";
}
}
//执行结果如下
2 3 4 default!
//如果在case语句块中遇到break;就跳出switch
switch (2) //参数(可以是整数或者字符串)
{
case 1: //和switch参数匹配就执行case执行体代码
{
cout << "1";
}
case 2:
{
cout << "2";
}
case 3:
{
cout << "3";
}
case 4:
{
cout << "4";
break; //跳出switch,下面所有case包括default都不执行了
}
default:
{
cout << "default!";
}
}
执行顺序:先执行一次A,在执行B条件判断为真就执行D,在执行C然后执行B条件判断为真执行D,直到B条件为假结束循环!
for(A; B; C)
{
D
}
int x;
for(x=1,cout << "执行一次" << endl; x<=10; cout << "x<=10就执行这个语句块(x++)" << endl, x++)
{
cout << "for循环执行体!" << x << endl;
}
//执行结果
执行一次
for循环执行体!1
x<=10就执行这个语句块(x++)
for循环执行体!2
x<=10就执行这个语句块(x++)
for循环执行体!3
x<=10就执行这个语句块(x++)
for循环执行体!4
x<=10就执行这个语句块(x++)
for循环执行体!5
x<=10就执行这个语句块(x++)
for循环执行体!6
x<=10就执行这个语句块(x++)
for循环执行体!7
x<=10就执行这个语句块(x++)
for循环执行体!8
x<=10就执行这个语句块(x++)
for循环执行体!9
x<=10就执行这个语句块(x++)
for循环执行体!10
x<=10就执行这个语句块(x++)
//简单for循环(直到i=10结束)
for(int i=0; i<10; i++)
{
cout << i << endl;
}
//结果
0
1
2
3
4
5
6
7
8
9
作用:while 条件为真(true)就一致执行while循环结构体,为假(false)结束!
while(true)
{
cout << "条件为true就一致循环!" << endl;
}
作用:先执行一次do语句块,然后判断while条件为真继续执行do语句块,为假就结束循环!
int x=1;
do
{
cout << "do语句块必定执行一次!" << endl;
x++;
} while (x <= 1); //条件为真(true)继续执行do语句块,知道条件为假(false)结束!
什么是数组:用于存储相同类型的数据集合,有序的集合。
定义数组:数组类型 数组名[数组长度] = {数组的值};
int arr[3] = {111,22,3};
格式:数组名称[下标]
//定义测试数组
int arr[3] = {333, 22, 1};
//读取数据元素
int a1 = arr[0]; //读取到的元素:333
int a1 = arr[1]; //读取到的元素:22
int a1 = arr[2]; //读取到的元素:1
int a1 = arr[3];//超出数组长度范围(下标越界异常)
格式:数组名称[下标] = 元素;
//定义测试数组
int arr[3];
//1、通过下标给数组赋值
arr[0] = 111;
arr[0] = 222;
arr[0] = 111;
//2、直接赋值之完全赋值
int arr1[2] = {56,78};
//3、直接赋值之局部赋值
int arr2[3] = {111};
格式:数组类型 数组名称[数组长度] = {};
理解:一个数组包含多个元素
int arr_name[3] = {11,22,33};
格式:数组类型 数组名称[数组长度] [数组长度] = {};
理解:二维数组就是一个二维数组里面包含多个一维数组
int arr_name[3][2] = {{1,2}, {3,4}, {5,6}};
格式:数组类型 数组名称[数组长度] = {};
理解:三维数组就是一个三维数组里面包含多个二维数组,二维数组又包含多个一维数组
int arr_name[3][2][2] = {{{1,2}, {11,22}}, {{3,4}, {33,44}}, {{5,6}, {55,66}}};
#include
using namespace std;
int main()
{
// 注意:使用int类型会超出范围(int最大值:2147483647),所以这里选择使用double类型
double sum = 1;
for(int i=2;i<=200;i+=2)
{
sum*=i;
}
cout << "1 ~ 200偶数乘积=" << sum;
return 0;
}
#include
using namespace std;
double sum(double arr[])
{
double x,y;
x = ((arr[0]+arr[1]) / 2);
y = ((arr[2]+arr[3]) / 2);
return (x+y);
}
int main()
{
double arr[4];
for(int i=0;i<4;i++)
{
cin >> arr[i];
}
cout << "前两个数的和的平方根和后两个数平方根的和=" << sum(arr);
return 0;
}
#include
using namespace std;
double sum(double arr[])
{
double x,y;
x = ((arr[0]+arr[1]) / 2);
y = (x * arr[2]);
return y;
}
int main()
{
double arr[3];
for(int i=0;i<3;i++)
{
cin >> arr[i];
}
cout << "前两个数的和的平方根和第三个数的乘积 =" << sum(arr) << endl;
return 0;
}
#include
using namespace std;
double sum(double x, double y)
{
return (x+y)/2;
}
int main()
{
//【作图题】编写一个程序,从外界获取两个数,返回这两个数的和的平方根,必须包含函数(非main)的调用
double x,y;
cin >> x >> y;
cout << "两个数的和的平方根 =" << sum(x,y) << endl;
return 0;
}
#include
using namespace std;
double halt(double x)
{
int y = (int)x;
double n = (double)y;
return (n/2);
}
int main()
{
double x;
cin >> x;
cout << "从外界获取一个小数,返回该数整数部分的一半=" << halt(x) << endl;
return 0;
}
#include
using namespace std;
//最大公约数(最大公因数定义: 指两个或多个整数共有约数中最大的一个)
int gys(int x,int y, int w, int m)
{
int gys = 1;
for (int i = m; i > 1; i--)
{
if (x%i==0 && y%i==0 && w%i==0)
{
gys=i;
break;
}
}
return gys;
}
int main()
{
//【作图题】编写一个程序,用于求从外界输入的三个数的最小公倍数和最大公约数。
int x = 12;
int y = 16;
int w = 18;
int m = ((x<y ? x:y) < w ? (x<y ? x:y) : w);
int max = gys(x,y,w,m); //最大公约数
int min = (x*y*w) / max; //最小公倍数(n个整数乘积 / 最大公倍数)
cout << "最大公约数(" << x << "," << y << "," << w << "," << ")=" << max << endl;
cout << "最小公倍数(" << x << "," << y << "," << w << "," << ")=" << min << endl;
return 0;
}
#include
using namespace std;
//最大公约数(最大公因数定义: 指两个或多个整数共有约数中最大的一个)
int gys(int x,int y, int m)
{
int gys = 1;
for (int i = m; i > 1; i--)
{
if (x%i==0 && y%i==0)
{
gys=i;
break;
}
}
return gys;
}
int main()
{
//【作图题】编写一个程序,用于求从外界输入的两个数的最小公倍数和最大公约数。
int x = 12;
int y = 16;
int m = (x>y?x:y);
int max = gys(x,y,m); //最大公约数
int min = (x*y) / max; //最小公倍数(n个整数乘积 / 最大公倍数)
cout << "最大公约数(" << x << "," << y << "," << ")=" << max << endl;
cout << "最小公倍数(" << x << "," << y << "," << ")=" << min << endl;
return 0;
}
#include
using namespace std;
// 求平均值
double avg(double avgs[], int arrayLength)
{
double sum = 0.00;
for(int i=0;i<=arrayLength;i++)
{
sum +=avgs[i];
}
return sum/arrayLength;
}
int main()
{
int len = 2;
double arr[len];
for(int i=0;i<len;i++)
{
cin >> arr[i];
}
cout << "平均值:" << avg(arr, len) << endl;
return 0;
}
#include
using namespace std;
// 求平均值
double avg(double avgs[], int arrayLength)
{
double max=avgs[0], min=avgs[0], sum;
for(int i=0;i<arrayLength;i++)
{
if(avgs[i] > max)
{
max = avgs[i];
}
if(avgs[i] < min)
{
min = avgs[i];
}
}
for(int j=0;j<arrayLength;j++)
{
double tem = avgs[j];
if(tem < max && tem > min)
{
sum +=avgs[j];
}
}
return (sum/(arrayLength-2));
}
int main()
{
//9、【作图题】编写程序,用于计算评委得分,5个评委的分数,去掉最高分和最低分,返回平均分。
int len = 5;
double arr[len];
for(int i=0;i<len;i++)
{
cin >> arr[i];
}
cout << "平均分:" << avg(arr, len) << endl;
return 0;
}
#include
using namespace std;
// 求平均值
double avg(double avgs[], int arrayLength)
{
double sum;
for(int i=0;i<arrayLength;i++)
{
sum +=avgs[i];
}
return (sum/arrayLength);
}
double max(double avgs[], int arrayLength)
{
double max =avgs[0];
for(int i=0;i<arrayLength;i++)
{
if(max < avgs[i])
{
max =avgs[i];
}
}
return max;
}
int main()
{
//【作图题】编写程序,从外界获取学生的5门科目成绩,返回平均值和最高分。
int len = 5;
double arr[len];
for(int i=0;i<len;i++)
{
cin >> arr[i];
}
cout << "平均分:" << avg(arr, len) << endl;
cout << "最高分:" << max(arr, len) << endl;
return 0;
}
#include
using namespace std;
int main()
{
double x,y, avg;
cin >> x >> y;
avg = (x+y)/2;
int int_avg = (int)avg;
cout << "平均值整数部分:" << avg << endl;
return 0;
}
#include
using namespace std;
int main()
{
//所有的偶数都不是素数,所以在循环过程中可以只对奇数进行判定,由此可以进行一步提高效率
int i,j;
for(i=201;i<=300;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0) break; //能被整除所以不是素数直接跳出循环
}
if(j>=i)
{
cout << "200~300素数:" << i << endl;
}
}
return 0;
}
#include
using namespace std;
int max(int arr[], int len)
{
int max = arr[0];
for(int i=0;i<len;i++)
{
if(arr[i] > max) max=arr[i];
}
return max;
}
int main()
{
//13、【作图题】编写程序,从外界获取两个整数,用于求四个数的最大值,必须有可调用的函数。
int len = 4;
int arr[len] = {111, 222};
for(int i=2;i<len;i++)
{
cin >> arr[i];
}
cout << "最大值:" << max(arr, len);
return 0;
}
#include
using namespace std;
int max(int arr[], int len)
{
int max = arr[0];
for(int i=0;i<len;i++)
{
if(arr[i] > max) max=arr[i];
}
return max;
}
int main()
{
//14、【作图题】编写程序,从外界获取两个整数,用于求三个数的最大值,必须有可调用的函数。
int len = 3;
int arr[len] = {111};
for(int i=1;i<len;i++)
{
cin >> arr[i];
}
cout << "最大值:" << max(arr, len);
return 0;
}
#include
using namespace std;
int max(int x, int y)
{
return x>y?x:y;
}
int main()
{
int x,y;
cin >> x >>y;
cout << "最大值:" << max(x, y);
return 0;
}
#include
using namespace std;
int main()
{
//17、【作图题】编写一个程序,通过获取用户输入的数据来输出该数据是否是素数。
int i,x;
cin >> x;
for(i=2;i<x;i++)
{
if(x%i==0) break;
}
if(i>=x)
{
cout << "是素数:" << x << endl;
} else
{
cout << "不是素数:" << x << endl;
}
return 0;
}
#include
using namespace std;
int main()
{
//19、【作图题】求1-100之间的所有素数,并统计素数的个数。
int i,x,count=0;
for(i=1;i<100;i+=2)
{
for(x=2;x<i;x++)
{
if(i%x==0) break;
}
if(x>=i) count+=1;
}
cout << "素数个数:" << count;
return 0;
}
#include
using namespace std;
int main()
{
//19、【作图题】编程显示任意输入5个数字中的最大值,最小值,平均值。
int len = 5;
double arr[len];
for(int i=0;i<len;i++)
{
cin >> arr[i];
}
double max=arr[0],min=arr[0],avg,count;
for(int j=0;j<len;j++)
{
if(arr[j] > max) max=arr[j];
if(arr[j] < min) min=arr[j];
count += arr[j];
}
avg = (count / len);
cout << "最大值:" << max << endl;
cout << "最小值:" << min << endl;
cout << "平均值:" << avg << endl;
return 0;
}
#include
using namespace std;
void qq_cx(double y)
{
if(y < 60)
{
cout << "重修没有通过,请输入重修成绩:" << endl;
cin >> y;
qq_cx(y);
} else
{
cout << "考试通过!" << endl;
}
}
int main()
{
int x;
double y;
cout << "请输入考生缺勤次数:" << endl;
cin >> x;
if(x >= 3)
{
cout << "你的缺勤次数过多,滚去重修!" << endl;
cout << "请输入重修成绩:" << endl;
cin >> y;
qq_cx(y);
}
else
{
cout << "请输入考生成绩:" << endl;
cin >> y;
if(y < 60)
{
cout << "考试没有通过,恭喜你获得一次补考机会!" << endl;
cout << "请输入补考成绩:"<<endl;
cin >> y;
if(y < 60)
{
qq_cx(y);
}
else
{
cout << "恭喜你考试通过!" << endl;
}
} else
{
cout << "恭喜你考试通过!" << endl;
}
}
return 0;
}
#include
using namespace std;
// 案例一:一维数组(10个案例)
int main()
{
//1、使用一维数组存放5个学号(直接赋值)
int arr_day01[5] = {2120180331, 2120180332, 2120180333, 2120180334, 2120180335};
for(int i=0;i<5;i++)
{
cout << "第" << (i+1) << "学号: " << arr_day01[i] << endl;
}
//2、使用一维数组存放3个姓名
string arr_day02[3] = {"猜猜一", "猜猜二", "猜猜三"};
for(int i=0;i<3;i++)
{
cout << "姓名" << (i+1) << ": " << arr_day02[i] << endl;
}
//3、使用一维数组存放2个电影名称
string arr_day03[2] = {"007", "天龙八部"};
for(int i=0;i<2;i++)
{
cout << "电影" << (i+1) << ": " << arr_day03[i] << endl;
}
//4、使用一维数组存放5个班级名称
string arr_day04[5] = {"计应一班", "计应二班", "计应三班", "计应四班", "计应五班"};
for(int i=0;i<5;i++)
{
cout << "第" << (i+1) << "班级: " << arr_day04[i] << endl;
}
//5、使用一维数组存放5个 int 类型数据
int arr_day05[5] = {111, 222, 333, 444, 555};
for(int i=0;i<5;i++)
{
cout << "int数据类型:" << arr_day05[i] << endl;
}
//6、使用一维数组存放5个 string 类型数据
string arr_day06[5] = {"test01", "test02", "test03", "test04", "test05"};
for(int i=0;i<5;i++)
{
cout << "string类型:" << arr_day06[i] << endl;
}
//7、使用一维数组存放5个 double 类型数据
double arr_day07[5] = {111.11, 222.22, 333.33, 444.44, 555.55};
for(int i=0;i<5;i++)
{
cout << "double数据类型:" << arr_day07[i] << endl;
}
//8、使用一维数组存放5个年龄
long arr_day08[5] = {18, 22, 23, 24, 25};
for(int i=0;i<5;i++)
{
cout << "年龄:" << arr_day08[i] << endl;
}
//9、使用一维数组存放5个宿舍号
long arr_day09[5] = {3442, 3443, 3444, 3445, 3446};
for(int i=0;i<5;i++)
{
cout << "年龄:" << arr_day09[i] << endl;
}
//10、使用一维数组存放5地址名
string arr_day010[5] = {"城大一", "城大二", "城大三", "城大四", "城大五"};
for(int i=0;i<5;i++)
{
cout << "地址:" << arr_day010[i] << endl;
}
return 0;
}
#include
using namespace std;
// 案例一:二维数组(10个案例)
int main()
{
//1、n个人的姓名学号
string str_day01[3][2] = {{"猜猜一", "2120180332"}, {"猜猜二", "2120180333"}, {"猜猜三", "2120180334"}};
for(int i=0;i<3;i++)
{
string str = "";
for(int j=0;j<2;j++)
{
str += str_day01[i][j];
}
cout << str << endl;
}
//2、2个宿舍所有人姓名
string str_day02[2][6] =
{
{"猜猜一", "猜猜二", "猜猜三", "猜猜四", "猜猜五", "猜猜六"},
{"ruanjia1", "ruanjia2", "ruanjia3", "ruanjia4", "ruanjia5", "ruanjia6"}
};
for(int i=0;i<2;i++)
{
cout << "第" << (i+1) << "个宿舍所有人姓名:" << endl;
for(int j=0;j<6;j++)
{
cout << str_day02[i][j] << endl;
}
}
/*
3、公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99
*/
double arr_day03[4][3] = {{22,66,44}, {77,33,88}, {25,45,65}, {11,66,99}};
double sum = 0.00;
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
sum += arr_day03[i][j];
}
}
cout << "年销售额求和= " << sum << "万元" << endl;
/*
4、使用二维数组保存4个班级的学生身高(求每个班级最高身高,最低身高,平均身高)
*/
double str_day04[4][4] =
{
{167.7, 170.8, 177, 169.8},
{187.7, 160.8, 157, 189.8},
{164.7, 173.8, 137, 149.8},
{163.7, 172.8, 177, 161.8}
};
double x,max,min,avg;
for(int i=0;i<4;i++)
{
cout << "第" << (i+1) << "个班级" << endl;
max = str_day04[i][0];
min = str_day04[i][0];
x = 0.00;
for(int j=0;j<4;j++)
{
x += str_day04[i][j];
if(str_day04[i][j] > max)
{
max = str_day04[i][j];
}
if(str_day04[i][j] < min)
{
min = str_day04[i][j];
}
}
cout << "最高身高:" << max << endl;
cout << "最低身高:" << min << endl;
cout << "平均身高:" << (x/4) << endl;
}
/*
5、使用二维数组保存n个班级的学生成绩(求每个班级最高成绩,最低成绩,平均成绩)
*/
double arr_day05[3][50];
for(int i=0;i<3;i++)
{
for(int j=0;j<50;j++)
{
arr_day05[i][j] = rand() % 100 + 1;
}
}
for(int i=0;i<3;i++)
{
double mx = arr_day05[i][0], mi = arr_day05[i][0], ag = 0.00;
cout << "第" << (i+1) << "个班级" << endl;
for(int x=0;x<50;x++)
{
if(mx < arr_day05[i][x])
{
mx = arr_day05[i][x];
}
if(mi > arr_day05[i][x])
{
mi = arr_day05[i][x];
}
ag += arr_day05[i][x];
}
cout << "最高成绩:" << mx << endl;
cout << "最低成绩:" << mi << endl;
cout << "平均成绩:" << (ag/50) << endl;
}
// 6、找出5个电影院的3个热门电影
string str_day06[5][3] = {
{"001", "002", "003"},
{"101", "102", "103"},
{"201", "202", "203"},
{"301", "302", "303"},
{"401", "402", "403"}
};
for(int i=0;i<5;i++)
{
cout << "第" << (i+1) << "个电影院" << endl;
for(int j=0;j<3;j++)
{
cout << str_day06[i][j] << endl;
}
}
// 7、二维数组存储多个int类型一个数组(一维数组长度为5),对每个一维数组数据进行排序输出(降序:高 -> 低);
int arr07[3][5] = {
{32,5,88,22,44},
{1,5,45,422,65},
{89,76,43,33,32}
};
for(int i=0;i<3;i++)
{
// 比较次数:n-1
for(int j=0;j< (5-1);j++)
{
bool isSort = true;
for(int x=0;x<((5-1) - j);x++)
{
if(arr07[i][x] < arr07[i][x+1])
{
isSort = false;
int temp = arr07[i][x];
arr07[i][x] = arr07[i][x+1];
arr07[i][x+1] = temp;
}
}
if(isSort) break;
}
}
for(int i=0;i<3;i++)
{
cout << "第" << (i+1) << "个数组排序结果:";
for(int j=0;j<5;j++)
{
cout << arr07[i][j] << " ";
}
cout << endl;
}
//8、插入排序
int arr08[3][5] =
{
{32,5,88,22,44},
{1,5,45,422,65},
{89,76,43,33,32}
};
for(int i=0;i<3;i++)
{
for(int j=0;j<(5-1);j++)
{
int end = j;
int tem = arr08[i][j+1];
while(end >= 0)
{
if(tem > arr08[i][end])
{
arr08[i][end+1] = arr08[i][end];
end--;
}
else
{
break;
}
}
arr08[i][end+1] = tem;
}
}
for(int i=0;i<3;i++)
{
cout << "第" << (i+1) << "个数组排序结果:";
for(int j=0;j<5;j++)
{
cout << arr08[i][j] << " ";
}
cout << endl;
}
//9、使用二维数组存储n个宿舍所有人姓名
string arr09[2][6] = {
{"佳佳一", "佳佳二", "佳佳三", "佳佳四", "佳佳五", "佳佳六",},
{"张三一", "张三二", "张三三", "张三四", "张三五", "张三六",}
};
for(int i=0;i<2;i++)
{
cout << "第" << (i+1) << "个宿舍:" << endl;
for(int j=0;j<6;j++)
{
cout << arr09[i][j] << endl;
}
}
//10、使用二维数组存储3个公司部门名称(万元)
string arr10[2][2] = {
{"销售部", "运维部"},
{"财务部", "开发部"}
};
for(int i=0;i<2;i++)
{
cout << "第" << (i+1) << "个公司部门: " << endl;
for(int j=0;j<2;j++)
{
cout << arr10[i][j] << endl;
}
}
return 0;
}
#include
using namespace std;
//三维数组使用案例(10个)
int main()
{
cout << "1、使用三维数组存储3个公司的3部门的员工名" << endl;
string arr01[3][3][2] =
{
{
{"张三", "李四"},
{"小明", "王五"},
{"小红", "小紫"}
},
{
{"狗狗", "狗子"},
{"猫猫", "猫子"},
{"鸭鸭", "鸭子"}
},
{
{"佳佳", "珈珈"},
{"家家", "甲甲"},
{"加加", "假假"}
}
};
for(int i=0;i<3;i++)
{
cout << "第" << (i+1) << "公司:" << endl;
for(int j=0;j<3;j++)
{
cout << "第" << (j+1) << "部门员工姓名:" << endl;
for(int x=0;x<2;x++)
{
cout << arr01[i][j][x] << endl;
}
}
}
cout << "2、使用三维数组存储3个班级的学号成绩" << endl;
int arr02[3][2][2] = {
{
{2120180332, 2120180332},
{33,44}
},
{
{2120180333, 2120180334},
{53,54}
},
{
{2120180336, 2120180335},
{63,67}
}
};
for(int i=0;i<3;i++)
{
cout << "第" << (i+1) << "班级" << endl;
for(int j=0;j<2;j++)
{
if(j == 0)
{
cout << "学号:" << endl;
} else
{
cout << "成绩:" << endl;
}
for(int x=0;x<2;x++)
{
cout << arr02[i][j][x] << endl;
}
}
}
cout << "3 、使用三维数组存储5个int类型数组后排序(冒泡)" << endl;
int arr03[2][3][5] = {
{
{12, 44, 1, 55, 38},
{22, 54, 7, 5, 78},
{32, 64, 8, 5, 88}
},
{
{54, 74, 31, 65, 38},
{132, 34, 27, 55, 28},
{52, 14, 18, 45, 8}
}
};
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
for(int x=0;x<(5-1);x++)
{
for(int y=0;y<((5-1)-x);y++)
{
if(arr03[i][j][y] > arr03[i][j][y+1])
{
int temp = arr03[i][j][y+1];
arr03[i][j][y+1] = arr03[i][j][y];
arr03[i][j][y] = temp;
}
}
}
}
}
for(int i=0;i<2;i++)
{
cout << "第" << (i+1) << "个数组:" << endl;
for(int j=0;j<3;j++)
{
cout << "第" << (j+1) << "排序结果:" << endl;
for(int x=0;x<5;x++)
{
cout << arr03[i][j][x] << " ";
}
cout << endl;
}
}
cout << "4、使用三维数组存储5个int类型数组后排序(插入排序)" << endl;
int arr04[2][3][5] = {
{
{12, 44, 1, 55, 38},
{22, 54, 7, 5, 78},
{32, 64, 8, 5, 88}
},
{
{54, 74, 31, 65, 38},
{132, 34, 27, 55, 28},
{52, 14, 18, 45, 8}
}
};
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
for(int x=0;x<(5-1);x++)
{
int end = x;
int tem = arr04[i][j][x+1];
while(end >= 0)
{
if(tem > arr04[i][j][end])
{
arr04[i][j][end+1] = arr04[i][j][end];
end--;
}
else
{
break;
}
}
arr04[i][j][end+1] = tem;
}
}
}
for(int i=0;i<2;i++)
{
cout << "第" << (i+1) << "个数组:" << endl;
for(int j=0;j<3;j++)
{
cout << "第" << (j+1) << "排序结果:" << endl;
for(int x=0;x<5;x++)
{
cout << arr04[i][j][x] << " ";
}
cout << endl;
}
}
cout << "5、使用三维数组存储n个宿舍学生学号、成绩" << endl;
int arr05[3][2][2] =
{
{
{2120180332, 2120180333},
{88, 99}
},
{
{2120180334, 2120180335},
{77, 89}
},
{
{2120180345, 2120180345},
{68, 69}
}
};
for(int i=0;i<3;i++)
{
cout << "第" << (i+1) << "个宿舍:" << endl;
for(int j=0;j<2;j++)
{
if(j == 0)
{
cout << "学号:" ;
} else
{
cout << "成绩:" ;
}
for(int y=0;y<2;y++)
{
cout << arr05[i][j][y] << " ";
}
cout << endl;
}
}
cout << "6、某公司所有部门员工工资、员工工号" << endl;
double arr06[3][2][5] =
{
{
{8888.88, 4345.12, 7563.11, 9808.55, 4345.22},
{1111, 2222, 3333, 4444, 5555}
},
{
{8888.88, 4345.12, 7563.11, 9808.55, 4345.22},
{1211, 1222, 1233, 1244, 1255}
},
{
{8888.88, 4345.12, 7563.11, 9808.55, 4345.22},
{2211, 3322, 4433, 5544, 6655}
}
};
for(int i=0;i<3;i++)
{
cout << "第" << (i+1) << "个部门:" << endl;
for(int j=0;j<2;j++)
{
for(int ii=0;ii<5;ii++)
{
cout << arr06[i][j][ii] << " ";
}
cout << endl;
}
}
cout << "7、2个班级4个宿舍人的姓名,学号" << endl;
string arr07[2][4][2][2] =
{
{
{
{"test01", "test01"},
{"2120180332", "2120180332"}
},
{
{"test01", "test01"},
{"2120180332", "2120180332"}
},
{
{"test01", "test01"},
{"2120180332", "2120180332"}
},
{
{"test01", "test01"},
{"2120180332", "2120180332"}
}
},
{
{
{"test01", "test01"},
{"2120180332", "2120180332"}
},
{
{"test01", "test01"},
{"2120180332", "2120180332"}
},
{
{"test01", "test01"},
{"2120180332", "2120180332"}
},
{
{"test01", "test01"},
{"2120180332", "2120180332"}
}
}
};
for(int i=0;i<2;i++)
{
cout << "第" << (i+1) << "个班级:" << endl;
for(int j=0;j<4;j++)
{
cout << "第" << (j+1) << "个宿舍:" << endl;
for(int x=0;x<2;x++)
{
for(int y=0;y<2;y++)
{
cout << arr07[i][j][x][y] << " ";
}
cout << endl;
}
}
}
return 0;
}