c语言把321变成123
时间: 2024-10-09 09:01:08 浏览: 16
C语言本身并没有直接的内置函数可以把数字"321"变成"123",因为它们是字符型(char),而非数值型(如int)。如果你需要进行这样的转换,通常需要先将字符串转换为整数数组,然后通过循环或者其他操作来重组数字顺序。
你可以通过以下步骤实现:
1. 定义一个包含三个元素的字符数组,存储"321"。
2. 使用`atoi()`函数或者手动遍历字符,将每个字符转换为整数。
3. 创建一个新的数组用于存放结果,并按照目标顺序放入转换后的数字。
4. 如果需要,再将这个新数组转换回字符串。
这里是一个简单的示例(仅适用于ASCII值的简单交换):
```c
#include <stdio.h>
#include <string.h>
void swap(char* str, int index1, int index2) {
char temp = str[index1];
str[index1] = str[index2];
str[index2] = temp;
}
int main() {
char input[] = "321";
int len = strlen(input);
for (int i = 0; i < len - 1; i++) {
if (input[i + 1] < input[i]) {
swap(input, i, i + 1); // 交换当前位和下一个位,如果当前位较大
}
}
printf("Reversed string: %s\n", input); // 输出转换后的字符串
return 0;
}
```
阅读全文