CartThrob gives you a built-in shipping option "By location - weight".
The CT documentation is pretty poor in general and very limited on this topic, but such information as there is can be found here.
Simply put if you choose this option in CT shipping options, you are given a table into which you can put country codes and threshold weights. What you would need to do is assign either the actual weight of each book (if your shipping options are based on this) or assign each book a dummy weight to put it into the appropriate shipping option.
As far as I can tell, the table works similarly to other shipping systems in CT, simply by scanning down the table of coutnries / weight thresholds until it finds a combination that matches the item being considered, and then associates the shipping charge of that row of the table to the item. So setting up the table will require you to enter 9 rows (three for each country) with the rows in ascending weight order.
PS - you usually get better replies to questions if you note the version of EE and (in this case) CT in your question.