The scanf() function is useful for teaching, but it’s a booger. I avoid it outside of demonstration purposes. But it does provide good fodder for training beginning programmers to think about stream I/O.
Continue reading
Author Archives: dgookin
Tally the Digits, Again
Difficulty: ★ ★ ☆ ☆
Seven years ago (to this same date!) I wrote an Exercise to tally the digits in a number. The solution required that the sum be reduced to a single digit. For example, the sum of digits in 12345 is 15, which is then reduced to six.
Continue reading
The Sum of the Integer’s Digit Is . . .
Difficulty: ★ ★ ☆ ☆
Yes, this Exercise has been done before. But back then, exactly seven years ago, I had the digits reduced further so that the result was a single digit. This time, your goal is to tally the digits in an integer and report the results — no reductions!
Continue reading
Outputting a Key Value
The power of an associative array is that it uses keys, text or numbers, to reference values. Know the key and you can fetch the value . This “association” works like an array in C, where you know the index or offset for an element. Though with an associative array, the index is a value or string — the key.
Continue reading
Dumping a Phony Associative Array
The first phony associative array function I need to write is a simple dump: Output the array’s contents in the form of pairs. Performing this operation requires a bit of manipulation to the way the array is presented in the code.
Continue reading
Associative Arrays
Being the ancient and venerable programming language it is, C lacks the associative array data type. This type of array is found in other languages, and it can be awkwardly simulated in C.
Continue reading
Swapping Variables – Solution
This month’s Exercise challenges you to swap two variables’ values without using a third variable. It’s a solution widely available on the Internet, but your job is to figure out the technique without looking elsewhere.
Continue reading
Pairs of Arrays
I enjoy studying foreign languages. A tool like Google Translate comes in handy, but it’s not perfect. That’s because computers translate words and phrases, but not the living, spoken language. Regardless, I thought I’d give language translation a stab, which got me into the topic of exploring arrays.
Continue reading
Swapping Variables
Difficulty: ★ ★ ★ ☆
The classic paradigm for swapping values between two variables involves using a third variable. But is the third variable even necessary?
Continue reading
The Improved nano_delay() Function (I Hope)
Last week’s Lesson explored using the clock_gettime() function to pause program execution for a given number of nanoseconds. The code, however, contains a flaw that may render an inaccurate result.
Continue reading