c语言输入一个正整数,输出该数的位数要求用do
时间: 2024-02-24 13:59:47 浏览: 28
好的,下面是使用do-while循环实现的C语言代码:
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
do {
num /= 10;
count++;
} while (num != 0);
printf("该数的位数为:%d\n", count);
return 0;
}
```
这个程序与之前的程序实现的功能相同,只是使用了do-while循环来计算位数。do-while循环先执行一次循环体,然后再判断循环条件是否成立,如果成立则继续执行循环体,直到条件不成立为止。
相关问题
用c语言编写代码:输入一个正整数n,输出该数的位数
好的,这个问题很简单。以下是C语言代码:
```
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数: ");
scanf("%d", &n);
int cnt = 0;
do {
cnt++;
n /= 10;
} while(n > 0);
printf("该数的位数为 %d\n", cnt);
return 0;
}
```
输入一个正整数n,程序将输出该数的位数。如果输入的数是0,则该数的位数为1。希望这个回答对您有所帮助!
输入一个不多于5位的正整数,用数组现要求编程实现以下功能: 1、输出该数字是几位数。 2、输出该数字的每一位数字的内容。 3、逆序输出该数字的每一位数字的内容用c语言
好的,我可以帮您解决这个问题。以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int num, i, digit, count = 0;
int arr[5];
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
// 计算数字位数并存储每一位数字
do {
digit = num % 10;
arr[count] = digit;
count++;
num = num / 10;
} while (num != 0);
// 输出数字位数
printf("该数字是%d位数\n", count);
// 输出每一位数字的内容
printf("该数字的每一位数字为:");
for (i = count - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
return 0;
}
```
运行程序后,输入一个不多于5位的正整数,程序会输出该数字的位数和每一位数字的内容,并且逆序输出每一位数字的内容。注意:代码中使用了一个数组来存储每一位数字,因此要求输入的数字不能超过数组的大小。