How many times are the hands of a clock at $90$ degrees. 
How many times are the hands of a clock at right angle in a day? 

Initially, I worked this out to be $2$ times every hour. The answer came to $48$.
However, in the cases of $3$ o'clock and $9$ o'clock, right angles happen only once.
So the answer came out to be $44$.
Is the approach correct?

The following C code prints out the times of the day (12hr cycle) that the hands make 90degree angles (to the nearest 3 seconds to avoid the need for floating point).  It is indeed 44 times.  
The pattern actually repeats itself every 6 hours.
#include <stdio.h>
#include <unistd.h>

void main()
{
    int uair=0;
    int noimead=0;
    int soicind=0;
    int lamhfhada=0;
    int lamhghearr=0;
    int uillinn=0;
    float ceim=0.0;

    for(uair=0; uair<12; uair++){
        noimead=0;
        for(noimead=0; noimead<60; noimead++){
           soicind=0; 
           for(soicind=0; soicind<60; soicind=soicind+3){
               uillinn=((lamhfhada*1000)-(lamhghearr*10))%3600000;
               if( ((uillinn >= 897500) & (uillinn <= 902500) ) | ((uillinn >= 2697500) & (uillinn <= 2702500) )){
                    ceim=(float)(uillinn)/10000;
                    printf("There are  %6.4f degrees between the hands at %02d:%02d:%02d o' clock\n", ceim, uair, noimead, soicind);
                }
               lamhfhada=lamhfhada+3;                           /* 0.3 degrees every 3 seconds */
               lamhghearr=lamhghearr+25;                        /* 0.025 degrees every 3 seconds */
           }
        }
    }
}

