I would like to thank everyone who helped me out, I was able to find an algorithm and solve the problem 
I attached a picture to show how it works. (note that it is arbitrary whether B is above or below the x-axis, and it is also arbitrary whether it is to the left or the right of the line it is across from.)
In the end, I decided it was easier to deal with points than angles. Here is the layout of the program, algorithm is roughly the second half. (actual program was written in C)
Code:
setup variables:
ax, ay, bx, by, cx, cy /*hold x and y values of each point's x and y*/
mab, mac, mbc /*hold slope for each line*/
abxint, acxint, bcxint /*hold x intercept for each line*/
count /*number of triangles with origin in the interior of the triangle */
flag /* used to keep track of whether a triangle passes a given test */
FOR 1 TO # of triangles to check
read in triangle from file
sort triangle so that A has the greatest y value, and c has the lowest y value
determine slope of ab, ac, bc
/* using: mab = (by - ay)/(bx-ax) */
determine x intercept for ab, ac, bc
/* using: abxint = ((mab*ax)-ay)/mab */
/* check that origin is between x intercepts on ac and bc */
flag = FALSE
IF ac x-int < 0 < bc x-int
flag = TRUE
END IF
IF ac x-int > 0 > bc x-int
flag = TRUE
END IF
/* if it isn't, it fails and we're done */
IF flag = FALSE
skip to next triangle
END IF
/* perform second test: check that origin is between x-intercepts on ac and ab, if so then origin is in the interior of the triangle */
IF ac x-int < 0 < ab x-int
add one to the count
END IF
IF ac x-int > 0 > ab x-int
add 1 to the count
END IF
END LOOP
DISPLAY value of count