用C语言将n个数按输入时顺序的逆序排列,用指针实现。并用指针实现字符串的逆序输出。
时间: 2023-07-16 09:14:39 浏览: 102
1. 将n个数按输入时顺序的逆序排列
```c
#include <stdio.h>
void reverse(int *arr, int n) {
int *p = arr + n - 1; // 指向最后一个元素
while (p > arr) {
int temp = *p;
*p-- = *arr;
*arr++ = temp;
}
}
int main() {
int n;
printf("请输入n: ");
scanf("%d", &n);
int arr[n];
printf("请输入%d个数: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
reverse(arr, n);
printf("逆序排列后的数为: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
2. 字符串的逆序输出
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
char *p = str + len - 1; // 指向最后一个字符
while (p >= str) {
putchar(*p--);
}
}
int main() {
char str[100];
printf("请输入字符串: ");
fgets(str, 100, stdin); // 使用 fgets() 可以读取空格
printf("逆序输出字符串: ");
reverse(str);
printf("\n");
return 0;
}
```
阅读全文