计算n的位数(使用do语句)

计算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;
}

运行结果:

计算n的位数(使用do语句)计算n的位数(使用do语句)

这里使用do语句,do语句与while语句的区别:do语句在每次执行循环体之后在判断循环节是否继续。因此当n=0时,仍执行一次循环,位数digits加1。

上一篇:php中while和do...while有何不同


下一篇:BAT批处理命令