逆序编程怎么写的

时间:2025-01-22 23:06:23 游戏攻略

逆序编程可以通过多种方法实现,具体取决于你想要逆序的对象是数字、字符串还是数组。以下是几种常见情况的逆序编程方法:

1. 数组逆序

方法一:使用循环

```c

include

int main() {

int arr[] = {1, 2, 3, 4, 5};

int n = sizeof(arr) / sizeof(arr);

int i, j;

for (i = 0, j = n - 1; i < j; i++, j--) {

int temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

for (i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

return 0;

}

```

方法二:使用递归

```c

include

void reverseArray(int arr[], int start, int end) {

if (start < end) {

int temp = arr[start];

arr[start] = arr[end];

arr[end] = temp;

reverseArray(arr, start + 1, end - 1);

}

}

int main() {

int arr[] = {1, 2, 3, 4, 5};

int n = sizeof(arr) / sizeof(arr);

reverseArray(arr, 0, n - 1);

for (int i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

return 0;

}

```

2. 字符串逆序

方法一:使用循环

```c

include

include

void reverseString(char *str) {

int len = strlen(str);

char *left = str;

char *right = str + len - 1;

while (left < right) {

char temp = *left;

*left = *right;

*right = temp;

left++;

right--;

}

}

int main() {

char str[] = "Hello, World!";

reverseString(str);

printf("%s\n", str);

return 0;

}

```

方法二:使用递归

```c

include

include

void reverseString(char *str, int start, int end) {

if (start < end) {

char temp = str[start];

str[start] = str[end];

str[end] = temp;

reverseString(str, start + 1, end - 1);

}

}

int main() {

char str[] = "Hello, World!";

reverseString(str, 0, strlen(str) - 1);

printf("%s\n", str);

return 0;

}

```

3. 整数逆序

方法一:使用循环

```c

include

int reverseInteger(int n) {

int reversed = 0;

while (n != 0) {

reversed = reversed * 10 + n % 10;

n /= 10;

}

return reversed;

}

int main() {

int num;

printf("请输入一个整数: ");

scanf("%d", &num);

int reversed = reverseInteger(num);

printf("逆序输出的数字为: %d\n", reversed);

return 0;

}

```

方法二:使用递归