用c++语言完成下面两题:第一题:输入10个整数,将其中最小的数与第1个数对换,把最大的数与最后一个数对换。编写3个子函数:(1)输入10个数;(2)进行处理;(3)输出10个数。 第二题: (1)编写一个子函数实现月份输出 (2)再编写一个子函数实现月份按字符串顺序排列,并将排序结果进行输出
时间: 2024-02-05 16:11:29 浏览: 69
基于C++,在主函数中输入10个整数到数组中,调用函数move()完成将数组元素循环移动k位,适合新手
5星 · 资源好评率100%
第一题代码实现:
```c++
#include<iostream>
using namespace std;
void input(int a[]) //子函数1:输入10个数
{
cout << "请输入10个整数:";
for (int i = 0; i < 10; i++)
{
cin >> a[i];
}
}
void process(int a[]) //子函数2:进行处理
{
int min_index = 0;
int max_index = 0;
for (int i = 1; i < 10; i++) //找到最小值和最大值的下标
{
if (a[i] < a[min_index])
{
min_index = i;
}
if (a[i] > a[max_index])
{
max_index = i;
}
}
int temp = a[0]; //将最小值与第一个数对换
a[0] = a[min_index];
a[min_index] = temp;
temp = a[9]; //将最大值与最后一个数对换
a[9] = a[max_index];
a[max_index] = temp;
}
void output(int a[]) //子函数3:输出10个数
{
cout << "处理后的10个数为:";
for (int i = 0; i < 10; i++)
{
cout << a[i] << " ";
}
}
int main()
{
int a[10];
input(a);
process(a);
output(a);
return 0;
}
```
第二题代码实现:
```c++
#include<iostream>
#include<string>
using namespace std;
void print_month(int month) //子函数1:输出月份
{
string month_name[12] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
cout << month << "月对应的英文名称为:" << month_name[month - 1] << endl;
}
void sort_month() //子函数2:将月份按字符串顺序排列并输出
{
string month_name[12] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
for (int i = 0; i < 11; i++) //使用冒泡排序
{
for (int j = 0; j < 11 - i; j++)
{
if (month_name[j] > month_name[j + 1])
{
string temp = month_name[j];
month_name[j] = month_name[j + 1];
month_name[j + 1] = temp;
}
}
}
cout << "按字符串顺序排列的月份为:";
for (int i = 0; i < 12; i++)
{
cout << month_name[i] << " ";
}
}
int main()
{
int month;
cout << "请输入月份:";
cin >> month;
print_month(month);
sort_month();
return 0;
}
```
阅读全文