题解 | #添加逗号#
添加逗号
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;
}




查看6道真题和解析