1.1(数构作业)编写函数move(inta[,intn,intm)实现将一个大小为n的整数数组循环左移m位,如:1,2,3,4,5,6,7,8+循环左移三位后结果是4,5,6,7,8,1,2,3。
时间: 2023-11-10 14:07:35 浏览: 127
函数move(inta[,intn,intm)可以实现将一个大小为n的整数数组循环左移m位。具体实现方法是先把第1个数a取出来(防止在移动时被覆盖),然后把后续的依次像前移动(赋值),该过程重复m次,即可左移m位成功。下面是该函数的代码实现:
```c++
void move(int a[], int n, int m) {
int i, j, t;
for (i = 0; i < m; i++) {
t = a[0];
for (j = 0; j < n - 1; j++)
a[j] = a[j + 1];
a[n - 1] = t;
}
}
```
例如,对于数组1,2,3,4,5,6,7,8,如果要循环左移3位,即m=3,则调用move函数后,数组变为4,5,6,7,8,1,2,3。
相关问题
编写add函数函数头add(intm int n)返回m+m+1….n
以下是一个可能的add函数的函数头和简单实现:
```
int add(int m, int n) {
int sum = m;
for (int i = m + 1; i <= n; i++) {
sum += i;
}
return sum;
}
```
这个函数接受两个整数参数m和n,返回从m到n的所有整数的和。sum变量初始化为m,然后通过for循环将m+1到n的所有整数加起来,最后返回总和。
编写add函数函数头add(intm int n)返回m+m+1….n 将m和n互换运行相同
下面是函数头:
```
int add(int m, int n);
```
函数描述:返回 m + (m+1) + ... + n 的值。
函数实现:
```
int add(int m, int n) {
if (m > n) {
int tmp = m;
m = n;
n = tmp;
}
int sum = 0;
for (int i = m; i <= n; i++) {
sum += i;
}
return sum;
}
```
对于将 m 和 n 互换的操作,可以在调用函数之前先交换 m 和 n 的值即可。
阅读全文