Bunuel
If b is an integer how many values of b satisfy a < b < c?
(1) a + b is an integer.
(2) c - a = 6.5.
Given b is an integer, but we dont know about a and c.
(1) If b is an integer, and a+b is also an integer, this means a is also an integer. But we dont know anything about c. Not sufficient.
(2) So c can be written as a+6.5. Now we are given that: a < b < a+6.5, and we have to find how many integer values of b will satisfy this inequality. We can test taking various cases:
If a=1, then c=7.5, and b can take 6 integer values (2 to 7)
If a=10, then c=16.5, again b can take 6 integer values (11 to 16)
If a=1.5, then c=8, again b can take 6 integer values (2 to 7)
But if a=1.6, then c=8.1, here b can take 7 integer values (2 to 8).
Basically if a is an integer, then c will be an integer ending in .5, and there will be 6 integer values for b. But if a is not an integer, then b might take 7 values also (as explained in last example). Not sufficient.
Combining the statements, now a must be an integer (from first statement), and c is a+6.5, so c is a number ending in .5.. here there will always be 6 integer values for b to take. Sufficient .
Hence
C answer