计算n的位数:
输入一个整数n(int范围内),输出n的位数。负号不占位,整数0是一位数。
输入样例:-345
输出样例:3
#include<stdio.h> #include<math.h> int main() { int n,digits; printf("请输入一个整数:\n"); scanf("%d",&n); digits = 0; /**< 位数初始化为0 */ do /**<使用do语句*/ { n /= 10; /**< 扔掉n的个位数字 */ digits ++; /**< 位数加1 */ }while(n != 0); printf("%d\n",digits); return 0; }
运行结果:
这里使用do语句,do语句与while语句的区别:do语句在每次执行循环体之后在判断循环节是否继续。因此当n=0时,仍执行一次循环,位数digits加1。