编写C语言程序,从键盘读入一个正整数n,如果整数n大于零,则输出positive以及是几位数,如果整数n小于零,则输出negative以及绝对值是几位数,如果整数n等于零,则zero。
时间: 2024-12-29 09:30:45 浏览: 66
在C语言中,你可以使用`scanf()`函数从键盘读取整数,然后根据条件判断输出相应的信息。以下是一个简单的示例程序:
```c
#include <stdio.h> // 包含标准输入输出库
int main() {
int n;
// 从键盘读取整数
printf("Enter an integer: ");
scanf("%d", &n);
if (n > 0) {
printf("The number is positive and has %d digits.\n", floor(log10(n) + 1));
} else if (n < 0) {
printf("The number is negative, its absolute value is %d digits.\n", floor(log10(-n) + 1));
} else {
printf("The number is zero.\n");
}
return 0; // 主函数结束标志
}
```
在这个程序中,我们首先读取用户的输入并存储在变量`n`中。然后用一系列`if...else if...else`语句检查`n`的值:
- 如果`n`大于0,我们计算它的位数(不包括前导零)使用`log10(n) + 1`(因为`log10`返回的是以10为底的对数,我们需要加1得到实际的位数),然后向下取整(`floor()`函数)以确保结果总是整数。
- 如果`n`小于0,我们先取它的绝对值(`-n`),再计算位数。
- 最后,如果`n`等于0,我们直接输出"zero"。
阅读全文
相关推荐

















