c 语言 将字符串中的数字倒置
时间: 2023-07-16 09:13:30 浏览: 159
可以使用循环和指针来实现字符串中数字的倒置。具体步骤如下:
1. 定义一个指针变量,指向字符串的最后一个字符。
2. 从字符串的最后一个字符开始遍历,如果遇到数字,则将其与指针所指向的字符交换位置。
3. 指针向前移动一位,继续遍历字符串直至指针指向字符串的第一个字符。
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
void reverse_numbers(char *str);
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
reverse_numbers(str);
printf("Reversed string: %s", str);
return 0;
}
void reverse_numbers(char *str) {
char *p = str + strlen(str) - 1;
while (p >= str) {
if (isdigit(*p)) {
char temp = *p;
*p = *(str + strlen(str) - 1 - (p - str));
*(str + strlen(str) - 1 - (p - str)) = temp;
}
p--;
}
}
```
注意,上述代码中使用了 `isdigit()` 函数来判断字符是否为数字。若不希望使用库函数,也可以手动判断字符是否为 `'0'` 到 `'9'` 范围内的字符。
阅读全文