用C语言编程实现整数位数用户输入一个非负整数程序在屏幕上输出该数的位数,如果是负数直接输出零
时间: 2023-05-31 15:01:37 浏览: 123
```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语言编程 编程实现(整数位数):用户输入一个非负整数,程序在屏幕上输出该数的位数,如果是负数直接输出0。 例如: 输入格式:23456 输出格式:5 输入格式:-223 输出格式:0
好的,以下是用C语言编写的程序实现该功能:
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num < 0) {
printf("0\n"); // 如果是负数直接输出0
return 0;
}
while (num > 0) {
num /= 10;
count++;
}
printf("%d\n", count);
return 0;
}
```
程序流程如下:
1. 提示用户输入一个非负整数。
2. 读取用户输入的数值。
3. 如果输入的是负数,直接输出0并结束程序。
4. 如果输入的是非负整数,进入循环。
5. 在循环中,每次将输入的数值除以10,直到结果为0。
6. 每一次除法操作,计数器加1。
7. 循环结束后,输出计数器的值,即为输入数值的位数。
希望能够帮到你!
用C语言编写一个计算非负数位数的int_digit函数,其中,函数参数为代求位数的非负整数nmu,函数返回非负整数的位数
下面是用C语言编写的计算非负数位数的int_digit函数:
```c
#include <stdio.h>
int int_digit(unsigned int nmu){
int digits = 0;
if (nmu == 0){
digits = 1;
}
else{
while (nmu > 0){
digits++;
nmu /= 10;
}
}
return digits;
}
int main(){
unsigned int num = 123456789;
int digits = int_digit(num);
printf("The number of digits in %u is %d\n", num, digits);
return 0;
}
```
在这个函数中,我们首先判断输入的非负整数是否为0,若为0,则它只有1位;否则,我们通过取模运算和除法操作计算它的位数,直到它的值变成0。最后,函数返回计算出的位数。
我们在主函数中调用int_digit函数,并输出计算出的位数。
阅读全文