-
练习案例1:五只小猪称体重
案例描述:
在一个数组中记录了五只小猪的体重,如:int arr[5]={300,350,200,400,250};
找出并打印最重的小猪体重
- 定义一个max变量,用以更替最大值
- 循环比较五个数值与max的大小,如果该数大,则替换max,否则不做改变
- 最后输出max即可
#include<iostream>
using namespace std;
int main()
{
```
//定义数组表示五只小猪体重
int arr[5] = { 100,200,350,200,400 };
int max = 0;
for (int i = 0; i < 5; i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
cout << "最重小猪的体重为: " << max << endl;
system("pause");
return 0;
}
-
练习案例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 };
for (int i = 4; i >= 0; i--)
{
cout << arr[i] << " " ;
}
system("pause");
return 0;
}
输出逆序的数组:
逻辑分析如下:
将元素的首尾进行互换,由外及里,知道start>=end,即表示刚好完成逆序,输出即可,详细过程如下图所示:
代码如下:
#include<iostream>
using namespace std;
int main()
{
//定义数组
int arr[5] = { 4,3,2,5,1 };
//输出
cout << "元素逆置前数组为: " << endl;
for (int i = 0; i < 5; i++)
{
cout << arr[i] << " ";
}
//定义始末元素下标
int start = 0;
int end = sizeof(arr) / sizeof(arr[0]) - 1;
//定义temp暂时存储替换元素
int temp = 0;
//替换
//法1:
/*for (int i = 0; i < 5; i++)
{
if (start < end)
{
temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}*/
//法2:
while (start < end)
{
temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
cout << endl;
cout << "数组元素逆置后: " << endl;
for (int j = 0; j < 5; j++)
{
cout << arr[j] << " ";
}
cout << endl;
system("pause");
return 0;
}