【3】拆分不多于5位的正整数k,分别求出它是几位数,并从高位到低位输出。
时间: 2024-10-15 07:23:38 浏览: 33
数码管多位数字拆分的方法
要实现这个功能,你可以使用C语言中的循环和取模运算符来确定每一位数字。这里有一个简单的函数示例,它可以接收一个正整数`k`,然后逐个提取每一位并打印:
```c
#include <stdio.h>
void print_digits(int k) {
int digit, length = 0;
// 计算数字的位数
while (k != 0) {
length++;
k /= 10; // 取除十进制位
}
// 如果长度超过5,直接输出错误信息
if (length > 5) {
printf("The number has more than 5 digits.\n");
return;
}
// 从高位到低位输出每一位
for (int i = length - 1; i >= 0; i--) {
digit = k % 10; // 取余得到当前位数字
printf("%d", digit);
k /= 10; // 移除当前位
}
}
int main() {
int num;
printf("Enter a positive integer with no more than 5 digits: ");
scanf("%d", &num);
print_digits(num);
return 0;
}
```
在这个程序中,我们首先计算数字的总位数(`length`),然后检查是否超过5。如果没超过,就用一个倒序循环遍历每一位并打印出来。
阅读全文