Is a block of cotton heavier than a block of iron? if i have a block of cotton and a block of iron each containing a weight of 100 kg when measured on a weighing machine, in reality which one is heaver than the other, which one is heavier and why?
This question was in my physics worksheet. The teacher gave the following answer: the apparent weight of both of them is the same, but the buoyant force of cotton is high since the volume of cotton is more than iron. Therefore, true weight of cotton is more.
Does this answer make sense? What is the right answer?
 A: Suppose the mass of your block is $m$, then the downward force due to gravity is:
$$ F_g = mg $$
where $g$ is the acceleration due to gravity. This force is what we normally think of as the weight. But you're weighing the blocks in air, and Archimedes' principle tells us that if an object of volume $V$ is immersed in a fluid of density $\rho$ then there is an upwards force, called the bouyancy, on the object given by:
$$ F_b = V\rho g $$
So when you weight your object the figure you actually get is the weight less the bouyancy:
$$ F = F_g - F_b = mg - V\rho g \tag{1} $$
Now, you know that the weights in air of the cotton and iron are the same. We'll use the subscript $c$ for cotton and $i$ for iron, so the measured weights of the cotton and iron are $F_c$ and $F_i$ respectively, and we know $F_c = F_i$. If we use equation (1) to calculate $F_c$ and $F_i$ then set them equal we get:
$$ m_cg - V_c\rho g = m_ig - V_i\rho g $$
And rearranging this gives:
$$ m_c - m_i = \rho(V_c - V_i) \tag{2} $$
This equation tells us the difference in the masses of the objects. The difference can only be zero, i.e. the objects have the same mass, if $V_c - V_i$ so the right hand side of equation (2) goes to zero. But we know that the volume of the cotton is greater than the volume of the iron, i.e. $V_c > V_i$, so equation (2) tells us that $m_c > m_i$. Even though the two objects weigh the same, the mass of the cotton must be higher than the mass of the iron.
I agree with the comments that the question is poorly posed because it doesn't make clear the distinction between weight and mass. However this is what I'd guess your teacher is getting at.
A: Here you assume that the weighing machine does not measure the inertia of the object, but as  is usually the case, it measures the normal normal force exerted on the object as it rests on the weighing machine. The total force exerted on the object of mass M in rest is zero, the force of gravity of M g acts downward. The buoyancy force acts upward and is due to the the fact that the air pressure is higher at the bottom of the object than at the top of the object.
The buoyancy force is equal to the weight of the displaced air. This is because the pressure forces acting on the boundary of the object would not change if the object where replaced by just air, but such an air mass will just remain stationary in hydrostatic equilibrium, therefore the weight of that air mass must be equal to the buoyancy force.
This means that if the weighing machine gives the same reading for both objects, that the mass of the cotton will be more, because a larger force of gravity would be required to yield the same normal force when there is a larger buoyancy force.
A: All four of the extant answers explain the physics properly, but answer a question not asked. This is the question that your physics professor asked, it is a common riddle to ask first-year physics students:

What weighs more, 100 KG iron or 100 KG of cotton?

Weight is a force, mass is a quantity of material. KG is a measure of mass, not weight.
The weight is the sum of the gravitational force (dependant on mass) and the buoyant force (dependant on volume). Since they operate in opposite directions, they have opposite signs:
$$ F_t = F_g - F_b = mg - Vρg $$
Now consider that the gravitational component $F_g$ for the iron and for the cotton is the same, as they have the same mass. Therefore the object with the lower buoyancy component $F_b$ will show a higher weight on a scale. Thus the object with the larger volume will show a higher weight on a scale. Thus, the feathers show a higher weight on a scale than does the iron.
A: Think about a 100kg block of wood floating in a tub. Hook a fish scale (a BIG one) onto it and take up the slack, but don't pull it any tighter. What does the scale read? It reads zero, right? Is that the correct weight (mass) of the wood? No way!
So "weighing" must always be thought of as a mass vs buoyancy problem. In the first example given, the actual weight of both iron and cotton is greater than 100kg. If they were weighed in a vacuum (zero buoyancy), their true weight would be measured.
A: *

*If you weight each item inside a black box (so that you can't see what is inside the box), then all you know, is that each weights exactly 100Kg. You might infer, that since the less dense cotton will be more voluminous, that the bigger box contains the cotton, but we could use boxes of equal size.
But weight is dependent on the force of gravitation, which varies from place to place by about 0.7%, so it is possible that if one items weights 100Kg in one place, it could weight 100.7kg (ie 700gms heavier) elsewhere, but the scales would show 100Kg by definition of the question.


*The old quandary regarding 100-lbs of gold vs 100-lbs of feathers, also has another interesting consideration. Precious metals and feathers are weighed using DIFFERENT definitions of the Pound, including the Troy pound (12oz)(used for precious metals), Avoirdupois pound (16oz)(used for feathers), not to mention the Imperial Standard Pound, Tower pound, Merchants' pound, London pound.
See:

*

*"Pound: Historic use"

*"Weights Used for Gold"

A: Measurement refers to the value of a quantity when that value has been ascertained by measuring. In short, a measurement is the result obtained by measuring. 
Thus, the value of 100 kg, as measured by your measuring machine, by definition, has been called the "the weight" and this value is the same for both.
Therefore, they both weigh the same.
