The correct answer is: C. II and III
A rainbow is produced when sunlight falls on drops of rain. The sunlight is refracted (bent) as it enters the raindrop, then reflected off the back of the raindrop, and refracted again as it exits the raindrop. The different colors of light are refracted at slightly different angles, so each color is separated into its own band. The angle of refraction depends on the wavelength of the light, with shorter wavelengths (blue light) being refracted more than longer wavelengths (red light). This is why the rainbow appears as a spectrum of colors, with red on the outside and violet on the inside.
Diffusion is the scattering of light by particles in a medium. It is not responsible for the formation of rainbows.
Internal reflection is the reflection of light within a medium when the angle of incidence is greater than the critical angle. It is responsible for the formation of rainbows.