int main()
{
    int i ;
    clrscr();
    for(i = 0; i <= 6; i++) {
        if(i % 2 == 0) {
            **textcolor(2);**
            cprintf("%d\n", i);
        }

        if(i % 2 != 0) {
            **textcolor(3);**
            cprintf("%d\n", i);
        }
    }
    getch();
}

OUTPUT:(all evens are in green and odds in blue)

0

 1

  2

   3

    4

      5

        6
2

There are 2 best solutions below

1
On BEST ANSWER

Probably \n is used literally and only does a line feed (= jump to next line and keep cursor at same column) and no carriage return (= put cursor at start of line). Change the \ns inside the calls to cprintf to \r\n.

0
On

Newlines in Windows is "\r\n". Apparently the cprintf doesn't translate '\n' into the correct sequence so all you are doing is going to the next line with the line feed but you do not put the "cursor" at the beginning if the line with '\r' (carriage return).