Add c version

自己看问题根据思路写了c版本,大部分方法和已知代码类似,部分实现有优化,纯粹学习写的,可能有考虑不周到的方.