用c语言求整数的位数,如果是负数则要求重新输入
时间: 2023-05-13 18:04:29 浏览: 137
可以使用以下代码来求整数的位数:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int num, count = 0;
printf("请输入一个整数:");
scanf("%d", &num);
if (num < 0) {
printf("输入的是负数,请重新输入:");
scanf("%d", &num);
}
while (num != 0) {
count++;
num /= 10;
}
printf("该整数的位数为:%d\n", count);
return 0;
}
```
对于负数,我们可以在输入后进行判断,如果是负数则重新输入。
相关问题
用C语言编程实现整数位数用户输入一个非负整数程序在屏幕上输出该数的位数,如果是负数直接输出零
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num < 0) {
printf("0\n");
return 0;
}
while (num > 0) {
count++;
num /= 10;
}
printf("该数的位数为:%d\n", count);
return 0;
}
```
用c语言的while语句 输入一个整数,输出其位数。数据无效时重新输入,程序
如下所示:
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个整数:");
while (scanf("%d", &num) != 1 || num <= 0) {
printf("输入无效,请重新输入:");
while (getchar() != '\n');
}
while (num > 0) {
num /= 10;
count++;
}
printf("该整数的位数为:%d\n", count);
return 0;
}
```
这个程序会不断要求用户输入一个整数,如果输入无效(比如输入的不是整数或者是负数),则会重新要求用户输入。如果输入的是有效的整数,则会计算其位数并输出。