【问题描述】编写程序,实现输入一个不多于5位的正整数,输出该数的位数和逆序组成的整数。 【样例输入1】12345 【样例输出1】5 54321 【样例输入2】1230 【样例输出2】4 321
时间: 2024-09-21 11:03:33 浏览: 30
给一个不多于5位的正整数.docx
5星 · 资源好评率100%
要实现这个功能,你可以创建一个C程序来接受用户的输入,然后分别计算输入数字的位数并反转它。这里是一个简单的C语言代码示例:
```c
#include <stdio.h>
int main() {
int num, reversed_num = 0, digit;
// 获取用户输入
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &num);
// 检查输入是否合法(最多5位)
if (num < 0 || num >= pow(10, 5)) {
printf("输入错误!请确保输入的是一个1到99999之间的正整数。\n");
return 1;
}
// 计算位数
int digits_count = 0;
while (num != 0) {
digit = num % 10; // 取余得到个位
reversed_num = reversed_num * 10 + digit; // 向左移位并添加当前位
digits_count++;
num /= 10; // 去掉最低位
}
// 输出结果
printf("输入的数字的位数为: %d\n", digits_count);
printf("逆序组成的整数为: %d\n", reversed_num);
return 0;
}
```
当你运行这个程序时,它会提示你输入一个数字,然后显示相应的位数和逆序后的数字。请注意,这个程序没有处理负数和非正整数的情况,如题目所述,只适用于正整数。
阅读全文