练习案例1:五只小猪称体重
案例描述:
在一个数组中记录了五只小猪的体重,如 : " int arr[5] = {300,350,200,400,250};
找出并打印最重的小猪体重。
//练习案例1:五只小猪称体重
//案例描述:
//在一个数组中记录了五只小猪的体重,如 : " int arr[5] = {300,350,200,400,250};
//找出并打印最重的小猪体重。
#include <iostream>
using namespace std;
int main()
{
//创建5只小猪体重的数组
int arr[5] = { 300,350,200,400,250 };
//先认定一个最大值
int max = 0;
//从数组中找到最大值
for (int i = 0; i < 5; i++)
{
if (arr[i] >= max)
{
max = arr[i];
}
}
//输出最大值
cout << "小猪中体重最重的为:" << max << endl;
return 0;
}
练习案例2:数组元素逆置
案例描述:
请声明一个5个元素的数组,并且将元素逆置.(如原数组元素为:1,3,2,5,4;逆置后输出结果为:4,5,2,3,1);
//练习案例2:数组元素逆置
//案例描述 : 请声明一个5个元素的数组,并且将元素逆置.(如原数组元素为 : 1, 3, 2, 5, 4; 逆置后输出结果为:4, 5, 2, 3, 1);
#include <iostream>
using namespace std;
int main()
{
int arr[5] = { 1,3,2,5,4 };
int start = 0;//起始下标
int end = sizeof(arr) / sizeof(arr[0]) - 1;//结束下标
while (start < end)
{
//元素互换
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
//更新下标
start++;
end--;
}
//输出数组
for (int i = 0; i < 5; i++)
{
cout << arr[i]<<",";
}
return 0;
}
练习案例3:冒泡排序
作用:最常用的排序算法,对数组内元素进行排序
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。3.重复以上的步骤,每次比较次数-1,直到不需要比较
示例:将数组{4,2,8,0,5,7,1,3,9}进行升序排序
//作用:最常用的排序算法,对数组内元素进行排序
//1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
//2.对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。3.重复以上的步骤,每次比较次数 - 1,直到不需要比较
//示例:将数组{4,2,8,0,5,7,1,3,9}进行升序排序
#include <iostream>
using namespace std;
int main()
{
//利用冒泡排序实现升序序列
int arr[9] = { 4,2,8,0,5,7,1,3,9 };
cout << "排序前:" << endl;
for (int i = 0; i < 9; i++)
{
cout << arr[i] << " ";
}
cout << endl;
//开始冒泡排序
//总共排序轮数为 元素个数-1
for (int i = 0; i < 9 - 1; i++)
{
//内层循环对比 次数=元素个数-当前轮数-1
for (int j = 0; j < 9 - i - 1; j++)
{
//如果第一个数字比第二个数字大,交换数字
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//排序后结果
cout << "排序后:" << endl;
for (int i = 0; i < 9; i++)
{
cout << arr[i] << " ";
}
cout << endl;
return 0;
}