C) They were all located along the Indus river because of irrigation, trade, and transportation.
Since you failed to actually mention which Indian cities or towns, I'll assume the rather generic answer world wide as to reasons that settlements tend to happen along rivers such as the Indus river. The usual reason is because of the river being a reliable source of water and provides relatively easy transportation of goods to and from the community. So with that in mind, let's take a look at the options and see what does and does not make sense.
A) They were all located along the Indus for better trade with the Chinese.
* This would be a good reason in and of itself. But it's not the only reason. So
this isn't a good choice.
B) They were all located along the Indus river for military defense purposes.
* Military defense generally isn't the reason one would build cities near rivers. Rivers are effectively "nature's highways" and as such locations near a river are generally easily accessible. With that in mind, it's fairly common to build fortifications near the mouths of rivers in order to deny access to potential enemies, but this still isn't the best reason to build a city or two near a major river.
C) They were all located along the Indus river because of irrigation, trade, and transportation.
* This pretty much covers all the points. Irrigation because of the easy access to water. Trade because lots of cities tend to built near or on rivers and cheap, easy transportation.
D) They were all located along the Indus to limit contact with and to stay away from other nations.
* Let's reason this out. You wish to limit contact with other nations and groups of people. So you locate your cities in the locations that are most accessible. This doesn't even pass the giggle test. And it's definitely a wrong answer.