C语言中如何给整数指定位数补0展示

C语言中如何给整数指定位数展示(005,0028)

已知条件: 数字 35 要求5位展示 00035
思路:先确定需不需要补0,补几个0,然后把原来的数字拼接上

#include <stdio.h>
#include <math.h>
int main(int argc, char const* argv[])
{
    int number = 78965412, length = 8;
    int j = 0, k = 0, i = 0;
    char out[8];
    for (i = 0; i < length; i++)
    {
        j = number / pow(10, i);
        if (j > 0)
            k++;
        else
        {
            break;
        }
    }

    if (length - k > 0)   // 需要补0
    {
        for (i = 0; i < length - k; i++)
        {
            out[i] = 0;
        }

        for(i = 0; i < k; i++)
        {
            out[length - i - 1] = number % 10;
            number /= 10;
        }
    }
    else                // 不需要补0
    {
        for (i = 0; i < length; i++)
        {
            out[length - i - 1] = number % 10;
            number /= 10;
        }
    }
    return 0;
}
posted @ 2022-04-29 10:13  huameixiao  阅读(241)  评论(0编辑  收藏  举报