给一个不多于5位的大于等于0的整数,逆序打印出各位数字。 C语言 输入 一个不多于5位的大于等于0的整数。 输出 逆序输出该数,数字间以空格分隔。
时间: 2024-11-18 13:17:04 浏览: 14
求整数位数并逆序打印每一位数字.zip
在C语言中,你可以通过遍历输入的整数并逐位取出然后反向输出的方式来实现这个功能。这里是一个简单的函数示例:
```c
#include <stdio.h>
#include <string.h> // 使用itoa() 函数需要这个头文件
// 将十进制整数转换成字符串
char* reverseNumber(int num) {
char result[6]; // 容纳最多5位数 + null terminator
int index = 0;
// 如果数字为0,直接返回"0"
if (num == 0) {
return "0";
}
// 逆序转换
while (num != 0) {
result[index++] = num % 10 + '0'; // 取余并转为字符
num /= 10; // 向左移除最低位
}
result[index] = '\0'; // 添加null terminator
// 逆序整个字符串
for (int i = 0, j = strlen(result) - 1; i < j; ++i, --j) {
char temp = result[i];
result[i] = result[j];
result[j] = temp;
}
return result;
}
int main() {
int input;
printf("请输入一个不大于5位的非负整数: ");
scanf("%d", &input);
char* reversed = reverseNumber(input);
printf("逆序后的数字: %s\n", reversed);
free(reversed); // 注意释放动态内存
return 0;
}
```
阅读全文