Это дерево элементов типа char.
Надо переделать в Вашем случае под int.
Либо переделайте сами, либо чуть-чуть подождите - освобожусь немного и исправлю.
Хотя.... полезней было бы разобраться самостоятельно.
Чтение вместо gets сделать scanf'ом - он возвращает значение в зависимости от количества распознанных вхождений.
А дальше разница небольшая...
Единственное что, я бы сделал вывод покрасивее, с отступами.