It sounds like the problem is "showing the work". He says he understands the subject matter, and if he's able to do it without "showing" every intermediate step, then he *is* getting it, right?
This sounds EXACTLY like what happened to a friend of mine when she was a girl. Kim's mother taught mathematics at a university, so Kim had a huge advantage over her peers in math, and she was always way ahead of the other kids. Starting in fifth grade, her teacher insisted that she "show her work" - in other words, explicitly write down every intermediate step at the level of detail that the TEACHER decided was appropriate for that age. Well, Kim was able to do some of those steps in her head, and she didn't need to write down everything. Sometimes she didn't even KNOW what steps she was supposed to write out explicitly and which ones she shouldn't because the steps seemed so obvious to her. Over the course of the year, things got worse and worse. She started HATING "school math." She still had no problem doing math stuff with her mom (who thankfully had the expertise and time to do this with her), but that bad math experience soured her FOR YEARS. She got (fairly) low grade in math for years, which drove her mother a little crazy, because she knew how much Kim knew, and there was no correlation.
Kim's mother even went in to talk to the teacher, she tried to explain that Kim already understands a lot of this stuff, she can do a lot of the basic steps in her head, and could the teacher not worry about all the intermediate steps if she's getting to the right answer? She reasoned that if the child is coming up with the wrong answers all the time, it helps to see the steps so the teacher can see where the kid is going wrong, but what's the point if the kid obviously "gets it"? The teacher made some lame argument about "being consistent for each child," how it's more difficult to grade tests when the children's answers look different, and expecting the same "level of work" from each kid. Nevermind that it meant that the brightest kids ended up doing the most unnecessary busywork. Nevermind that kids think differently and sometimes come up with the solution by using their brains in different ways, perhaps being able to visualize solutions in their heads. Nevermind that maybe, just maybe, the kid even has a better method of finding the solution than the teacher! (Gasp!) Nevermind that the brightest kids were most likely to start to hate the work, and how their attitudes about school and teachers and math would change.
Kim's now in her forties and still gets frustrated when she thinks back on it. She was so put off by that experience that she associates with her public school that she's found a progressive independent shool for her own son, (NOT cheap, mind you), because she never wants him to have to go through that. (Not that every public school teacher is that bone-headed, thank goodness! She just had a very bad experience and so has a negative association.)
So, first sit down and talk with your son and figure out if he truly understands the subject matter. (If you have *him* explain it to you, you should be able to get a good idea.) If it's a situation like Kim's, then I think you owe it to your kid to talk to the teacher and get to the bottom of the "show the steps" issue. Be polite and respectful, but... stick up for your kid. You know your kid better than anyone, and your son probably isn't nearly as effective as expressing the issues as you will be (provided you can really understand where your son is coming from.)
Hopefully the teacher can be persuaded to consider what is truly in the best interest of your child, not what is easiest for him/her to grade or... whatever the reasons are for "showing the work."
Regarding the grades, remember that the learning is more important than the grades, and they don't necessarily go hand in hand. If you focus on the grade, then the kids focus on the grade. Instead of getting interested in a new concept, they start to ask "Will this be on the test?" I went to a very competitive high school, and the kids at the top of the class, the ones vying for Merit Scholar and valedictorian, etc, they were obsessed with the grades. They would take the AP classes not because they were really interested in the subject, it was all about the points, the grades, the GPA. They didn't enjoy learning - they just wanted to out-do their peers on the transcript, and many of them didn't nurture any particular passions, which is so important for long-term happiness.
(See Alfie Kohn's article on "How not to get into College" http://www.alfiekohn.org/articles.htm )
Finally (I know I'm going on too long, but I really feel for your kid), I keep seeing articles (in Scientific American, Wondertime (a parenting magazine), the NY Times and an interview on NPR) about research done by Carol Dweck, and the main point is that it is much better to praise your child for how hard he worked or how much effort he put into something, and avoid praising him because he's intelligent. It may sound strange, but a lot of very intelligent kids, especially ones that were bright enough to "coast" through school for years, getting good grades *without* expending much effort, begin to think that they ought to be able to immediately grasp new concepts. That *having* to work to understand something means they aren't so smart, after all. Furthermore, kids who believe they are naturally smart tend to think of intelligence as an "innate ability" and sadly, they tend to give up more easily, they tend to think that if they don't get something immediately that they just aren't good at it. It's the kids who realize that their success hinges on their effort who learn to try harder, so when the subjects get more difficult, they don't throw up their hands and say "I'm just not good at this." They keep plugging away until they understand it, and that by doing so, they make themselves smarter.
http://hubpages.com/hub/How-to-Raise-a-Smart-Kid
or google for "Carol Dweck"