使用【C语言】写【有一个不多于5位的正整数,求它的位数,同时指明个十百千万每位的具体数字】的代码
时间: 2024-11-18 07:16:52 浏览: 7
C语言求一个正整数的位数
3星 · 编辑精心推荐
在C语言中,你可以使用`stdio.h`库来获取用户输入的整数,并通过循环逐位处理它来实现这个功能。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h> // 为了计算字符串长度
// 函数声明
void printDigit(int num, int digitPosition); // 打印指定位置的数字
int main() {
int number;
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &number);
if (number <= 0 || number >= pow(10, 6)) { // 检查是否超过5位
printf("输入的数值超过了5位。\n");
return 1;
}
// 获取数字的每一位并打印
for (int i = 0; number > 0 && i < 6; i++) { // 遍历到个、十、百、千、万、亿共六位
int lastDigit = number % 10; // 取余得到最后一位
printDigit(lastDigit, i + 1); // 输出并递减原数
number /= 10; // 移除最后一位
}
return 0;
}
// 打印函数
void printDigit(int digit, int position) {
switch (position) {
case 1:
printf("个位: %d\n", digit);
break;
case 2:
printf("十位: %d\n", digit);
break;
case 3:
printf("百位: %d\n", digit);
break;
case 4:
printf("千位: %d\n", digit);
break;
case 5:
printf("万位: %d\n", digit);
break;
default:
printf("超出五位范围\n");
break;
}
}
```
阅读全文