А ты на кого учишься-то?
В принципе для того, чтобы написать такую программу - особенно знать язык Си не надо. Тут сплошная математика. Сложная, но только математика.
Сильно язык Си знают те, кто пишут на нем приложения. Системные программисты. Да и вообще, что значит "знать язык Си"? Знать все функции? А зачем? Можно просто открыть справочник и найти нужную функцию. Важный момент в современном программировании - это объектно-ориентированное программирование. Вот это нужно сейчас очень. У нас был такой предмет. Я его очень быстро сдал. 5 лабораторных за месяц. А сейчас многие принципы ООП забыл. Надо вспоминать.