There are several questions that you should always ask whenever anyone gives you advice about writing programs:
Dividing programs into functions satisfies all of these questions. Let's consider each question in turn.
How does using functions make writing large programs easier?
How does using functions make cooperative programming easier?
How does using functions make modifying programs easier?
If you do not have much programming experience, these explanations might not be very convincing. In the larger scheme of things, learning a programming language like C is easy. A professional programmer will learn many programming languages over the course of a career. Much more difficult is the process of designing a program so that it can be divided into small modules (such as functions) and then managing the implementation of the program by multiple programmers. This is known as software engineering. There are lots of programmers in the world, but not very many good software engineers.
Hamlet Project