mọi người xem đoạn code sau và giúp mình giải quyết : để dễ hình dung mình lấy vd minh họa :
Hom nay toi tham gia congdongcviet 2012 ngày 25/11/2012 ----> sau khi chỉnh sửa nó thành Hom nay toi tham gia congdongcviet hai nghin khong tram muoi hai ngay hai muoi nam thang muoi mot nam 2012 (tất cả đều sử dụng file txt)
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
#define in "in.txt"
FILE *f_in;
void docSo(int arrChuSo[], int m, int n)
{
char so[3][10][11]= {
{"", "mot", "hai", "ba", "bon", "nam", "sau", "bay", "tam", "chin"},
{"linh", "muoi", "hai muoi", "ba muoi", "bon muoi", "nam muoi", "sau muoi", "bay muoi", "tam muoi", "chin muoi"},
{"khong tram", "mot tram", "hai tram", "ba tram", "bon tram", "nam tram", "sau tram", "bay tram", "tam tram", "chin tram"},
};

for (int i = m; i >= n; i--)
{
if (i - n == 2 && arrChuSo[i] == 0 && arrChuSo[i - 1] == 0 && arrChuSo[i -2] == 0)
return;
if (i - n == 1 && arrChuSo[i] == 0 && arrChuSo[i - 1] == 0)
return;
printf("%s ", so[i-n][arrChuSo[i]]);
}
}


main(void)
{
char x[2000];
char donVi[4][6] = {"", "nghin", "trieu", "ty"};
int soChuSo = 0,arrChuSo[10],m, n,soCanDoc;
f_in = fopen(in,"r+");

fscanf(f_in,"%d", &soCanDoc);
while(soCanDoc != 0)
{
arrChuSo[soChuSo++] = soCanDoc % 10;
soCanDoc /= 10;
}

soChuSo--;
do
{
m = soChuSo;
n = m - soChuSo % 3;
if ((m - n == 2 && arrChuSo[m] == 0 && arrChuSo[m - 1] == 0 && arrChuSo[m -2] == 0) ||
(m - n == 1 && arrChuSo[m] == 0 && arrChuSo[m - 1] == 0) ||
(m - n == 0 && arrChuSo[m] == 0))
continue;
docSo(arrChuSo, m, n);
printf("%s ", donVi[m / 3]);
soChuSo -= (m - n + 1);
} while (!(soChuSo < 0 || n == 0));
//fgetc(f_in,"%c",socandoc);
getch();
fclose(f_in);
}