c语言,输入一个任意长度的整数逆序输出
时间: 2024-10-06 19:01:45 浏览: 40
在C语言中,要输入一个任意长度的整数并逆序输出,可以使用动态内存分配、字符数组和遍历的方式来实现。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h> // 需要stdlib头文件来获取malloc函数
int main() {
int *num; // 定义一个指向整数的指针
char input[100]; // 用于存储输入的字符串
char reversed[100]; // 存储逆序后的字符串
// 输入整数
printf("请输入一个整数:");
fgets(input, sizeof(input), stdin); // 使用fgets读取包括空格的完整数字字符串
num = (int*) malloc(strlen(input) + 1); // 分配内存给整数,+1是因为需要空间放'\0'
// 将输入的字符串转换成整数,并逆序存储到reversed数组
sscanf(input, "%d", num); // 将输入字符串转换为整数
for (int i = strlen(input) - 1, j = 0; i >= 0; i--, j++) {
reversed[j] = input[i];
}
reversed[j] = '\0'; // 结束字符串,添加空字符
// 输出逆序的整数
printf("逆序后的整数为:%s\n", reversed);
// 释放内存
free(num);
return 0;
}
```
在这个程序里,我们首先读入用户输入的整数字符串,然后将其逆序存储到`reversed`数组中,最后输出逆序后的结果。记得要在结束时使用`free`释放动态分配的内存。
阅读全文