Personally I always found the best way for me to learn a new language was to take an existing program- maybe something 500 lines or so long and completely convert it to the new language. It forces you to learn how to do things like string and file handling, organising the program, getting input and producing output and so on.
But having seen requests (on the C programming subreddit) for ideas to help someone apply their newly learnt knowledge, here’s a list of ideas of projects that are doable ion C. Nothing silly like database or operating systems!
- A simple calendar. Enter a date and show the month. Bonus points if you can use past dates and show the day that a date is on. Hint. Look up Zeller’s Congruence.
- Implement John Conway’s Game of Life. A cellular automaton that can be quite fascinating.
- Have a go at a Snake Game. No cheating by looking at the Games Sources (link above on the top menu).
- Solve the 8 Queen’s problem. Put 8 queens on a chessboard so no piece can see and attack another.
- Create a maze generator. Make sure it includes at least one path from start to finish.
If you get through that lot, you go up a level and should look at this list.