用C语言编写程序,输入一个六位正整数,倒序输出。例如给出正整数 n=123456,希望以各位数的逆序形式输出,即输出654321。提示:采用递归思想,首先输出这个数的个位数,然后再输出前面数字的个位数,直到之前没数字。
时间: 2024-10-27 11:14:50 浏览: 111
要使用递归思想实现六位数的倒序输出,你可以创建一个函数,每次递归调用自身并将最高位数添加到结果字符串中。下面是C语言的一个示例:
```c
#include <stdio.h>
#include <string.h>
// 递归函数,将高位数加到结果字符串中
void reverse_number(int num, char* result, int start) {
if (num == 0) {
// 结束递归,返回结果字符串
result[start] = '\0';
printf("%s\n", result); // 输出反转后的数字
} else {
// 将当前位数添加到结果,并继续递归处理下一位
result[start] = '0' + num % 10;
reverse_number(num / 10, result, start + 1);
}
}
int main() {
int input;
char reversed[7]; // 存储反转后的六位数,包括结束符'\0'
printf("请输入一个六位正整数: ");
scanf("%d", &input);
if (input >= 100000 && input <= 999999) {
// 确保输入的是六位数
reversed[0] = '\0'; // 初始化结果字符串
reverse_number(input, reversed, 0);
} else {
printf("输入错误,请输入一个六位正整数。\n");
}
return 0;
}
```
阅读全文