Non-metals do not react with acids. They are not able to displace hydrogen from the acids. In order to displace hydrogen ions (H+) of an acid and convert them into hydrogen gas, electrons should be supplied to the hydrogen ions (H+) of the acid. Non- metal is itself a electron acceptor . so it cannot give electrons to the hydrogen ions of the acid to reduce them to hydrogen gas. But metals that are reactive than hydrogen, lose electrons more easily than hydrogen, so displace it from the dilute acids to produce hydrogen gas. Thus metals react with acid and non-metals do not.