C99規格でmainの定義はint main(void){...}、int main(int argc,char * argv[]){...}、
この2つと同等(型の再定義等)の方法、に加えて処理系定義の方法で行うということに
なっているもよう(JIS規格なら http://www.jisc.go.jp/ の「JIS検索」からX3010を
検索すれば閲覧可能)。
ということなので、(少なくともCでは)宿題の処理系に対応していればvoid mainでも可
という結論で良いのかな。