Hi,
The short answer would be: such question are dangerous, try and learn them by heart!

The long answer is: in Latin, they have different inflected forms because they belong to two different "classes":
2nd declension and 3rd declension:
Fungus (same inflected forms in "cactus"):
2nd declension Nominative: (singular)
fungus => (plural)
fungi Genitive: (singular) fungi
=> (plural) fungorum
Dative: (singular) fungo => (plural) fungis
Accusative: (singular) fungum => (plural) fungos
Vocative: (singular) funge => (plural) fungi
Ablative: (singular) fungo => (plural) fungis
Corpus :
3rd declension Nominative: (singular)
corpus => (plural)
corpora Genitive: (singular) corporis => (plural) corporum
Dative: (singular) corpori => (plural) corporibus
Accusative: (singular) corpus => (plural) corpora
Vocative: (singular) corpus => (plural) corpora
Ablative: (singular) corpore => (plural) corporibus
Now, have a look at the nominative case:
fungus >> fungi
cactus >> cacti
corpus >> corpora