写一个c语言程序,使得输入一个正整数,编程用循环语句求出此数的位数
时间: 2023-06-04 11:08:38 浏览: 183
好的,这是一个关于编程的问题,可以回答。下面是一个用循环语句求出正整数位数的c语言程序:
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
while (num != 0) {
count++;
num /= 10;
}
printf("该正整数的位数为:%d", count);
return 0;
}
```
输入一个正整数,程序就会输出它的位数。希望对你有帮助!
相关问题
用c语言编写以下程序,输入一个正整数,用循环语句求出此数的位数
```c
#include <stdio.h>
int main() {
int n, count = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
while (n > 0) {
count++;
n /= 10;
}
printf("此数的位数为:%d\n", count);
return 0;
}
```
说明:
1. 使用 `scanf()` 函数输入一个正整数 `n`,并初始化计数器 `count` 为 0。
2. 使用 `while` 循环,每次将 `n` 除以 10 并将计数器 `count` 加 1,直到 `n` 的值为 0。
3. 输出计数器 `count` 的值,即为此数的位数。
C语言编程 循环语句输入一个正整数,要求:按逆序打印出这个数的每位数字,并打印出是几位数。若输入负数则输出“输入有误”
在C语言编程中,你可以通过`while`循环结合条件判断和取模运算来实现这个功能。以下是示例代码:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
if (num < 0) {
printf("输入有误\n");
return 0;
}
// 将数字转换成字符串,以便逆序遍历
char str[100];
sprintf(str, "%d", num);
// 计算字符串长度,即输入数字的位数
int length = strlen(str);
// 从后向前遍历并打印每个数字
for (int i = length - 1; i >= 0; i--) {
printf("%c", str[i]);
// 如果不是最后一位,还要打印位置信息
if (i != 0) {
printf("(第 %d 位)", i + 1);
}
}
printf("\n");
return 0;
}
```
阅读全文