/Go_101

My Completion of Jim Canning's 101 C Programming Problems in Go.

Primary LanguageGoMIT LicenseMIT

Go_101

My Completion of Jim Canning's 101 C Programming Problems in Go. These problems were assigned to me as homework assignments when I started out in school. The assignments range in difficulty from trivial (Fibonacci, Factorual) to complex (Convex Hull, Knight's Move, Fourier Transform), and include a great amount of practice to understanding the basic usage of the standard libraries in addition to programming foundations.

I'm gradually going through each program to provide comments that help to explain and educate certain parts of code.

I understand that the Problems may not provide sufficient practice for things specific to Go such as slices, in which case I'll be sure to read up on the community's content and create exercises/examples of my own.

Here are a list of the problems that have been completed thus far. I've categorized them by the particular material or task that is involved. For a look at the 101 Problems, please view 101.txt. The first problem starts on line 173.

##INPUT/OUTPUT##

  • p1: Hello World
  • p2: The value 6
  • p3: The Character P
  • p4: The scanf Function
  • p5: Sum of Two Values
  • p7: Bigger than 100?
  • p11: Equal to Zero?
  • p12: Positive, Negative, or Zero?
  • p17: Count Characters
  • p23: Scanf Returns What?

##FILE INPUT/OUTPUT##

  • p6: The fscanf Function
  • p8: One Horizontal Line of Asterisks
  • p10: Sum of Twenty
  • p25: Sum of a Bunch
  • p26: fgetc and toupper
  • p27: Reverse
  • p28: Digit Sum
  • p29: Find the Average

##LOOPS##

  • p9: Using a For Loop
  • p18: Solid Box of Asterisks
  • p30: Unfilled Box

##COMMAND LINE ARGUMENTS##

  • p14: Argc
  • p21: Argv
  • p22: Reverse the Command Line

##PACKAGES##

  • Math
  • p13: The abs Function
  • p15: Using the sqrt Function
  • p16: Sine Function
  • p19: Area of a Rectangle
  • p20: Area of a Circle

##DATA TYPES##

  • Arrays
  • p24: One Dimensional Array

##Please feel free to contribute if you'd like!## I'm completing assignments as I learn so mistakes are bound to be present. Whether it be assignments I haven't completed, errors or bad habits that I've made (I know that I forgot to close some files a few times), I will seriously invest my time in any feedback/recommendation.

====== ##Future Plans and Other Notes##

  • To further supplement my learning and make this repo more useful, I'll slowly be working on adding the writeup as a separate file in the directory of the problems. This will also promote organization of static file generation which I will be looking into.
  • Short declarations are not used in favor of fighting laziness. I'd like to understand and maintain control of the data types that are used. When making corrections or contributing, feel free to do whatever you'd like.
  • I apologize in advance for my overuse of \n.