输入一个正整数,如123,将其转换为倒数321,注意,正整数位数不确定 用c语言表示
时间: 2024-12-24 12:33:38 浏览: 82
在 C 语言中,你可以使用数组和字符串来处理这个问题。首先,你需要将输入的正整数转换成字符串,然后逐字符读取并反转这个字符串。最后,再将这个反转后的字符串转换回整数。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 函数声明
int atoi(const char *str);
char* reverse(char *str);
// 将整数转换为字符串
char* int_to_str(int num) {
char str[50]; // 假设最多五位数
sprintf(str, "%d", num);
return str;
}
// 反转字符串函数
char* reverse(char *str) {
int len = strlen(str), i;
char temp[len+1];
for (i = 0; i < len / 2; ++i) {
temp[i] = str[len - i - 1];
temp[len - i - 1] = str[i];
}
temp[len] = '\0'; // 添加终止符
return temp;
}
int main() {
int input_num;
printf("请输入一个正整数: ");
scanf("%d", &input_num);
// 转换并反转
char* reversed_str = reverse(int_to_str(input_num));
// 将反转后的字符串转换回整数,并打印结果
printf("倒数形式的数字为: %d\n", atoi(reversed_str));
free(reversed_str); // 释放内存
return 0;
}
```
在这个程序中,我们首先通过 `int_to_str` 函数将输入的整数转换成字符串,然后使用 `reverse` 函数进行反转,最后通过 `atoi` 函数将反转后的字符串再次转换回整数。
阅读全文
相关推荐


















