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