int a[100]; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); }
// 逆序:首尾交换 int i = 0, j = n - 1; while (i < j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; i++; j--; }
// 输出 for (int i = 0; i < n; i++) { printf("%d ", a[i]); } printf("\n");
return0; }
复杂度:时间 O(n),空间 O(1)
#include <stdio.h> // 函数声明 void reverseeArr(int *arr, int n); int main() { int n = 0; printf("Enter the size of the array: "); scanf("%d", &n); int arr[n]; for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } reverseeArr(arr, n); printf("Reversed array: "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); }
void reverseeArr(int *arr, int n) { //*arr是数组的第一个元素,arr是数组的地址,* 的作用是解引用数组地址,获取数组的第一个元素的值 printf("%d ", *arr); int i = 0, j = n - 1; for (i = 0; i < j; i++, j--) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }
第二部分 - 二维数组
第2讲:二维数组
🔑 知识点讲解
1 2 3 4 5 6 7 8 9 10 11 12 13
二维数组可看作数组的数组,即矩阵。
声明方式: int a[3][4]; // 3行4列 int a[2][3] = {{1,2,3},{4,5,6}}; // 初始化