用C语言编写输入一正整数,从右边第1位开始,连续取出该数奇数位上的数,逆序 构成一个新整数并输出(如:输入982346时,输出:638)
时间: 2024-09-23 15:13:46 浏览: 49
java 输入一个数字,反转输出这个数字的值(实现方法)
在C语言中,你可以通过遍历输入的数字,并仅选择奇数位来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 函数声明,用于处理输入数字
int reverse_odd_digits(int num);
int main() {
int input;
printf("请输入一个正整数:");
scanf("%d", &input);
// 调用函数处理数字并打印结果
int result = reverse_odd_digits(input);
printf("逆序后的奇数位数字是:%d\n", result);
return 0;
}
// 函数实现,只保留奇数位并逆序
int reverse_odd_digits(int num) {
int odd_digits = 0; // 用于存储奇数位的数字
while (num != 0) {
if (num % 10 == 1 || num % 10 == 3 || num % 10 == 5 || num % 10 == 7 || num % 10 == 9) { // 取奇数位
odd_digits = odd_digits * 10 + (num % 10); // 将奇数位加到结果上,注意进位
}
num /= 10; // 移除最低位
}
return odd_digits;
}
```
当你运行此程序并输入数字982346,它会输出:638。
阅读全文