C programming problems


Here are few problems to try out your C skills on.


Produce a multiplication table. Top left hand corner will show 1x1 and bottom right shows 12x12, as below.
 1 2 3 4 5 6 7 8 9 10 11 12 
 2 4 6 8 10 12 14 16 18 20 22 24 
 3 6 9 12 15 18 21 24 27 30 33 36 
 4 8 12 16 20 24 28 32 36 40 44 48 
 5 10 15 20 25 30 35 40 45 50 55 60 
 6 12 18 24 30 36 42 48 54 60 66 72 
 7 14 21 28 35 42 49 56 63 70 77 84 
 8 16 24 32 40 48 56 64 72 80 88 96 
 9 18 27 36 45 54 63 72 81 90 99 108 
 10 20 30 40 50 60 70 80 90 100 110 120 
 11 22 33 44 55 66 77 88 99 110 121 132 
 12 24 36 48 60 72 84 96 108 120 132 144 
Answer 1
Answer 2

Produce an Ascii convertion table.

Answer 1
Answer 2

Convert unix files to DOS format.

Unix records are terminated with x'0a'
DOS records are terminated with x'0d0a'

Answer

'for' problem. Count from 1 to 32 and list the range of unsigned integer numbers that can be stored in each collection of bits. I.E 8 bits can hold the range 0 to 255.

Answer
Random numbers. Produce a sequence of six random numbers between 1 and 49. These can then be used to play the National lottery (in England). The odds on getting the right numbers are 13,983,816 to 1 - GOOD LUCK SUCKER.

Answer should look like:
	Possible winning ticket numbers are 7 8 9 33 34 43


Take the previous 'lotto' program and add code so duplicate numbers are filtered out and the results are sorted (use qsort).
Answer

Here is a problem you can solve with an integer array. Generate the Fibonacci sequence. Starting with 0, 1 add them up then take the result and add it to the last number and repeat.

Answer should look like:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
Answer taken from 'Practical C' from O'Reilly and Associates.

Functions - write a program that calls bignum() and littlenum() which determine, respectively, the highest and the smallest of a sequecnce of numbers read in from the terminal.

Answer

Structures - Use structures to add two fractions together.

Answer
Write a calendar program

Answer


Print the name of the program thats executing.

Answer
Produce a program that will display a file in hex format as below. Most versions of Unix have 'od' but this dump format is more usefull.
 20 2A 20 68 65 78 5F 63 68 61 72 28 63 68 61 72 * hex_char(char
 20 2A 70 6F 73 69 74 69 6F 6E 2C 20 63 68 61 72 *position, char
 20 63 29 0A 20 20 20 7B 0A 20 20 20 73 70 72 69 c). {. spri
 6E 74 66 28 70 6F 73 69 74 69 6F 6E 2C 20 22 25 ntf(position, "%
 30 32 58 20 22 2C 20 63 29 3B 20 0A 0A 09 09 09 02X ", c); .....

Answer
Print yesterdays date. You can use the ANSI standard functions 'time' and 'ctime'. An example of the O/P from my program is.
	Fri Mar 17 18:46:47 1995

Answer
Display a byte in binary format. For example:
	55 == 00110111

Things like << <<= & can be used to solve this problem.

Answer



Martin Leslie

AltStyle によって変換されたページ (->オリジナル) /