用c++写代码 请编写函数fun,函数的功能是 :移动一维数组中的内容;若数组中有10个整数,要求把下标从0到p(含p,p小 于10)的数组元素平移到数组的最后。 如:数组中原始内容为:1、2、3、4、5、6、7、8、9、10;p=3。 移动后数组中为5、6、7、8、9、10、1、2、3、4 样例输入 Copy 1 2 3 4 5 6 7 8 9 10 3 样例输出 Copy 5 6 7 8 9 10 1 2 3 4
时间: 2023-08-31 14:57:12 浏览: 77
请看下面的代码实现:
```cpp
#include <iostream>
void fun(int arr[], int p) {
int n = 10;
int temp[n];
// 复制需要移动的元素到临时数组
for (int i = 0; i <= p; i++) {
temp[i] = arr[i];
}
// 移动剩余的元素到数组末尾
for (int i = 0; i < n - p - 1; i++) {
arr[i] = arr[i + p + 1];
}
// 将临时数组中的元素放到数组末尾
for (int i = 0; i <= p; i++) {
arr[n - p - 1 + i] = temp[i];
}
}
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int p = 3;
fun(arr, p);
// 输出移动后的数组内容
for (int i = 0; i < 10; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
```
运行结果为:5 6 7 8 9 10 1 2 3 4
相关问题
(逆序存放):编写一个函数fun,功能是对一个一维数组中存放的数进行逆序交换;在主函数中用随机函数产生10个[0~100)之间的整数,存放于一个一维数组中,并按原始存放顺序输出这10个数,然后调用fun函数使它们的存储位置逆序存放,最后在主函数中输出该数组。
好的,我理解了您的要求。以下是实现这个程序的C++代码:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void fun(int *a, int n) {
for (int i = 0; i < n / 2; i++) {
int tmp = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = tmp;
}
}
int main() {
const int n = 10;
int a[n];
srand(time(nullptr)); // 设置随机数种子
for (int i = 0; i < n; i++) {
a[i] = rand() % 100; // 产生0~99之间的随机整数
cout << a[i] << " ";
}
cout << endl;
fun(a, n);
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果:
```
52 81 15 72 16 33 51 49 21 90
90 21 49 51 33 16 72 15 81 52
```
在这个程序中,我们首先生成了10个随机整数,并将它们输出。然后调用 `fun` 函数进行逆序交换,并将结果输出。函数 `fun` 的实现很简单,就是将数组的前一半和后一半进行交换即可。
编写一个函数 fun, fun中的一维数组中存放了100个整数。 fun 的功能: 根据形参接收的整数值, 输出该数组中大于形参值的所有数组元素值。在主函数中, 输入实参的值, 调用 fun。
您可以编写一个 C++ 函数 `fun` 来完成这个任务,如下所示:
```cpp
#include <iostream>
// 定义一维数组
int arr[100];
// 函数 fun 接收一个整数参数,并返回所有大于它的数组元素
void fun(int target) {
for (int i = 0; i < 100; i++) {
if (arr[i] > target) {
std::cout << "数组中大于" << target << "的元素是:" << arr[i] << " ";
}
}
std::cout << "\n";
}
int main() {
// 初始化数组 arr(这里省略,实际程序需要填充)
int input;
std::cout << "请输入一个整数: ";
std::cin >> input;
// 调用 fun 函数,传入用户输入作为参数
fun(input);
return 0;
}
```
在这个例子中,`fun` 函数接受一个整数参数 `target`,遍历整个数组 `arr`,如果找到比 `target` 更大的元素,就将其打印出来。在 `main` 函数中,用户会被提示输入一个整数,然后该值将传递给 `fun` 函数。
阅读全文