Подразумевается, что к листям дерева привязаны значения. Значит, числовые, раз просят сумму.

Если подразумеваете под внутренними узлами те, в которых дерево ветвится, то вроде бы обычно к ним не приклеивают значения. Но иногда и такое дерево нужно. Скорее всего, первое, но вы поглядите, как у вас описывается структура узла.
Во втором, думаю, вам не нужно писать программу, а только функцию, и возвращать указатель на запись узла дерева.
Ещё интересуют язык и совершенно любые, хоть словами, наработки.

P. S. Извиняюсь, не дочитал. Ну, если нужно считать сумму значений внутренних узлов, значит, к ним как раз прикреплены значения, а на листья плевать. Ну так вы проверяйте, попали ли в лист, и в этом случае не добавляйте его число в сумму. Так и накопится по всем внутренним узлам.