Doing aweful in math, but decent in CS?

To get a B.Sc at my university there are 6 math courses you need to complete; 3 Calculus courses, discreet math, linear algebra, and stats. I'm assuming it's like this most everywhere.

The issue I'm having these days, is that I'm doing pretty good in my computer science courses, but doing really bad in math (some of which is prerequisite for later CS courses). I've got an A in my Data Structures & Algorithms course, and I B (I think) in my Logic course. On the other hand, Calculus III kicked my ass to the point of having to drop the course, and I'm just scraping by in discreet math.

Have any of you run into this at all? And why is all that math required, when clearly you can do fairly well in CS (at least so far) without understanding much of the math you're supposed to?