1.五只小猪称体重
问题
在一个数组中记录了五只小猪的体重,如int arr[5]={300,350,200,400,250};找出并打印最重的小猪体重。
代码
#include<iostream>
using namespace std;
int main()
{
int arr[5] = { 300,350,200,400,250 };
int max = 0; //先认定一个最大值为0
for (int i =0 ;i < 5; i++)
{
if (arr[i] > max)
max = arr[i];
}
cout << "最重的小猪体重为:" << max << endl;
system("pause");
return 0;
}
结果
2.数组元素逆置
问题
请声明一个5个元素的数组,并且将元素逆置。
代码
#include<iostream>
using namespace std;
int main()
{
int arr[5] = { 1,2,3,4,5 };
int start = 0; //起始元素下标
int end = sizeof(arr) / sizeof(arr[0]) - 1; //末尾元素下标
int temp = 0;
while (1)
{
temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
if (start == end)
break;
}
for (int i = 0; i < 5; i++)
cout << arr[i] << " ";
system("pause");
return 0;
}
结果:
3.冒泡排序
问题:
升序或者降序排列数组顺序
代码:
#include<iostream>
using namespace std;
int main()
{
int arr[9] = { 4,2,8,0,5,7,1,3,9 };
cout << "排序前:" ;
for (int i = 0; i < 9; i++)
{
cout << arr[i] << " ";
}
cout << endl;
//排序总论数 = 元素个数-1;
//每轮对比次数 = 元素个数 - 排序轮数 -1
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]) - 1; i++)
{
for (int j = 0; j < sizeof(arr) / sizeof(arr[0]) - i - 1; j++)
if (arr[j] >= arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
cout << "排序后:";
for (int i = 0; i < 9; i++)
cout << arr[i] << " ";
system("pause");
return 0;
}
结果
4.考试成绩统计
问题
输出三名同学的三科成绩
代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
int scores[3][3] = {
{100,100,100},{90,50,100},{60,70,80}
};
string names[3] = { "张三","李四","王五" };
for (int i = 0; i < 3; i++)
{
int sum = 0;
for (int j = 0; j < 3; j++)
{
sum += scores[i][j];
cout << scores[i][j] << " ";
}
cout << names[i] << "的总分为:" << sum << endl;
}
system("pause");
return 0;
}
结果