2. 输入一个不超过6位的正整数,输出该数的最高位和最低位,如果该数是一位数,则输出该数。然后再输出该数是几位数。程序需要对输入的数进行合法性检查,对小于0和大于6位的数要有提示。
时间: 2024-03-15 07:46:34 浏览: 184
好的,下面是解决您的问题的代码:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个不超过6位的正整数:");
scanf("%d", &num);
if (num < 0 || num > 999999) { // 判断输入是否合法
printf("输入不合法,请输入一个不超过6位的正整数!\n");
return 0;
}
int digit = 1; // 数字位数,初始化为1
int temp = num; // 临时保存输入的数
while (temp >= 10) { // 计算数字位数
digit++;
temp /= 10;
}
int highest = num / 100000; // 最高位
int lowest = num % 10; // 最低位
printf("最高位为:%d,最低位为:%d\n", highest, lowest);
printf("该数共有%d位数字\n", digit);
return 0;
}
```
在这段代码中,我们首先输入一个整数,然后判断它是否合法。如果不合法,程序会输出提示信息并结束。接着,我们计算该数的数字位数,并分别计算出最高位和最低位。最后,程序输出最高位、最低位以及该数的数字位数。
希望这个回答能够解决您的问题。如果您还有其他问题,请随时问我。
阅读全文