数组的三种定义形式
1.数据类型 数组名[数组长度];
2.数据类型 数组名[数组长度]={值1,值2...};
3.数据类型 数组名[ ]={值1,值2...};
/*数组元素下标是从0开始的*/
一维数组
#include <iostream>
using namespace std;
#include<ctime>
int main()
{
//数组名的用途
//1.可以通过数组名统计整个数组占用内存的大小
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
cout << "整个数组占用的内存空间为:" << sizeof(arr) << endl;
cout << "每个元素占用的内存空间为:" << sizeof(arr[0]) << endl;
cout << "数组中的元素个数为:" << sizeof(arr)/sizeof(arr[0]) << endl;
//2.可以通过数组名查看数组首地址
cout << "数组的首地址为:" <<(int) arr << endl;//int的作用是把16进制强制转换成10进制
cout << "数组中第一个元素地址为:" << (int) & arr[0] << endl;
//3.数组名是常量,不可以进行赋值操作
system("pause");
return 0;
}
一维数组案例---五只小猪称体重
#include <iostream>
using namespace std;
#include<ctime>//根据系统时间来取随机数的头文件
int main()
{
int arr[5] = { 10,20,30,40,50 };
int max = 0;
for (int i = 0; i < 5; i++)
{
if(arr[i]>max)
{
max = arr[i];
}
}
cout << "小猪最重的体重为:" << max << endl;
system("pause");
return 0;
}
冒泡排序
#include <iostream>
using namespace std;
int main()
{
int arr[10] = { 4,2,8,9,4,6,1,10,7,5 };
for (int j = 0; j < 10-1; j++)//总排序轮数为元素个数-1
{
for (int i = 0; i < 10-j-1; i++)//内层循环对比次数=元数个数-当前轮数-1
{
if (arr[i] > arr[i + 1])
{
int temp = 0;
temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
for(int k=0;k<10;k++)
{
cout << arr[k]<<" ";
}
system("pause");
return 0;
}
考试成绩统计
#include <iostream>
using namespace std;
#include<ctime>//根据系统时间来取随机数的头文件
int main()
{
int score[3][3] = { 100,100,100 ,90,50,100,60,70,80 };
int sum = 0;
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
sum = score[i][j] + sum;
}
cout << "第"<<i+1<<"个同学的总分为" << sum << endl;
sum = 0;
}
}
system("pause");
return 0;
}