·将数组a中n个整数按相反顺序存放。
时间: 2024-06-14 10:06:05 浏览: 11
以下是将数组a中n个整数按相反顺序存放的两种方法:
1. 使用指针方法:
```c
void jh(int *p, int n){
int t, *j, *i, *q;
int m = (n-1)/2;
j = p + (n-1);
i = p;
q = p + m;
for(; i <= q; i++, j--){
t = *i;
*i = *j;
*j = t;
}
}
```
2. 使用数组下标方法:
```c
void jh(int a[], int n){
int t, j, i;
int m = (n-1)/2;
for(i = 0; i <= m; i++){
j = n-1-i;
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
```
相关问题
c语言 将数组a中n个整数按相反顺序存放
下面是一种实现方式:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入整数的个数:");
scanf("%d", &n);
int a[n];
printf("请输入%d个整数:\n", n);
for(int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("原数组:");
for(int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
for(int i = 0; i < n/2; i++) {
int temp = a[i];
a[i] = a[n-1-i];
a[n-1-i] = temp;
}
printf("反转后的数组:");
for(int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
程序中先要输入整数的个数,然后输入这些整数,接着将数组按照相反顺序进行反转,最后输出反转后的数组。需要注意的是,反转操作只需要进行一半就可以了。
将数组a中n个整数按相反顺序存放,用指针变量作实参 输入说明: n个整数 输出说明: 按相反顺序存放后输出
以下是将数组a中n个整数按相反顺序存放的示例代码:
```c
#include <iostream>
using namespace std;
void ReverseArray(int *a, int n) {
int *start = a;
int *end = a + n - 1;
while (start < end) {
int temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
int n;
cout << "请输入整数的个数:";
cin >> n;
int *a = new int[n];
cout << "请输入" << n << "个整数:";
for (int i = 0; i < n; i++) {
cin >> a[i];
}
ReverseArray(a, n);
cout << "按相反顺序存放后的数组为:";
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
delete[] a;
return 0;
}
```