题解 | #添加逗号#

添加逗号

https://www.nowcoder.com/practice/f51c317e745649c0900996fd3f683aed

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void test(int n)
{
    //num来计算逗号的数量
    static num = 0;
    //递归例如:153920529 或 2,000,000,000 或 59
    if (n / 1000)
    {
        num++;
        test(n / 1000);
    }
    if (num && n % 1000 >= 100 && n % 1000 <= 999)//num为真,经过递归的高位数大于等于100
    {
        printf("%d", n % 1000);
    }
    else if (num && n >= 1000 && n % 1000 < 100)//num为真,经过递归的非最高位小于100
    {
        printf("%03d", n % 1000);
    }
    else if (num && n < 100)//最高位小于100
    {
        printf("%d", n % 1000);
    }
    else if (num == 0 && n >= 1000)//n本身的值是大于1000的
    {
        printf("%03d", n % 1000);
    }
    else if (num == 0 && n < 1000)//n本身值小于1000
    {
        printf("%d", n);
    }
    if (num--)
    {
        printf(",");
    }
}
int main()
{
    int n = 0;
    scanf("%d", &n);
    test(n);
    return 0;
}

全部评论

相关推荐

4 收藏 评论
分享
牛客网
牛客企业服务