C语言数字逆序输入长度不确定的十进制数字,逆向输出数字
时间: 2024-10-27 07:08:27 浏览: 8
在C语言中,当你需要处理长度不确定的十进制数字并逆序输出时,可以使用字符数组(char array)来存储每一位数字,并结合循环结构如`for`或`while`来逐位读入、存储并最终逆序输出。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数用于反转输入的字符串
void reverse(char input[], int start, int end) {
while (start < end) {
char temp = input[start];
input[start] = input[end];
input[end] = temp;
start++;
end--;
}
}
int main() {
char digits[100]; // 假设最多支持99位数字
int length, digit;
printf("请输入一个十进制数字(按空格分隔): ");
for (length = 0; scanf("%d", &digit) == 1; ) { // 使用scanf读取每一位整数
digits[length++] = '0' + digit; // 把数字转换成字符并添加到数组
}
digits[length] = '\0'; // 结束字符串
reverse(digits, 0, length - 1); // 反转整个字符串
printf("逆序后的数字: %s\n", digits);
return 0;
}
```
在这个程序中,我们首先读取用户输入的一串数字,然后将每个数字转换成对应的字符并存储在数组中。最后,通过调用`reverse`函数来逆序整个数组。
阅读全文