
Nguyên bản được gửi bởi
NguNhuheo
Code C, đệ quy căn bản, in ra từng chữ số (code bài #3 ở trên in từng cụm 3 chữ số)
void ttt(long n)
{
static int digits = 0;
if (n <= 0 && digits != 0) return; /* n == 0 là hết số, điểm quay về của đệ quy */
/* tuy nhiên, vẫn cần xét số chữ số đã đếm, đề phòng trường hợp n ban đầu là 0 */
digits++; /* đếm tổng số chữ số */
ttt(n / 10);
printf("%ld", n % 10);
if (--digits > 0 && digits % 3 == 0) printf("%c", ','); /* in dấu phẩy nếu số chữ số còn lại chia chẵn cho 3 */
}