1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242
|
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.5 [en] (X11; I; Linux 2.0.36 i586) [Netscape]">
<title>C programming problems</title>
</head>
<body bgcolor="#FFFFCC">
<hr>
<center>
<h1>
C programming problems</h1></center>
<hr>
<p>Here are few problems to try out your C skills on.
<hr>
<dl compact>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Produce a multiplication table. Top left hand corner will show 1x1 and
bottom right shows 12x12, as below.</dd>
<pre>
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</pre>
<dt>
<img SRC="computer.gif" ><a href="times1.c">Answer 1</a></dt>
<dt>
<img SRC="computer.gif" ><a href="times2.c">Answer 2</a>
<hr></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Produce an Ascii convertion table.</dd>
<dt>
<img SRC="computer.gif" height=44 width=40><a href="ascii1.c">Answer 1</a></dt>
<dt>
<img SRC="computer.gif" height=44 width=40><a href="ascii2.c">Answer 2 </a>
<hr></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Convert unix files to DOS format.</dd>
<dd>
Unix records are terminated with x'0a'</dd>
<dd>
DOS records are terminated with x'0d0a'</dd>
<dt>
<img SRC="computer.gif" ><a href="unix2dos.c">Answer</a>
<hr></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
'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.</dd>
<dt>
<img SRC="computer.gif" ><a href="bits.c">Answer</a>
<hr></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
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.</dd>
<dt>
<img SRC="computer.gif" ><a href="lotto1.c">Answer</a> should look like:</dt>
<pre> Possible winning ticket numbers are 7 8 9 33 34 43</pre>
<hr>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Take the previous 'lotto' program and add code so duplicate numbers are
filtered out and the results are sorted (use <a href="../FUNCTIONS/qsort.html">qsort</a>).</dd>
<dt>
<img SRC="computer.gif" ><a href="lotto2.c">Answer</a>
<hr></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
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.</dd>
<dt>
<img SRC="computer.gif" ><a href="array_prob.c">Answer</a> should look
like:</dt>
<pre>0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181</pre>
<dt>
<img SRC="computer.gif" ><a href="../CONTRIB/OR_PRACTICAL_C/05_1.c">Answer</a>
taken from 'Practical C' from O'Reilly and Associates.
<hr></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
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.</dd>
<dt>
<img SRC="computer.gif" ><a href="numtest.c">Answer</a>
<hr></dt>
<p><br><a NAME="struct"></a>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Structures - Use structures to add two fractions together.</dd>
<dt>
<img SRC="computer.gif" ><a href="fractions.c">Answer</a>
<hr></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Write a calendar program</dd>
<dt>
<img SRC="computer.gif" ><a href="calender.c">Answer</a></dt>
<p><br>
<hr>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Print the name of the program thats executing.</dd>
<dt>
<img SRC="computer.gif" ><a href="../EXAMPLES/prog_name.c">Answer</a>
<hr><a NAME="hexdump"></a></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
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.</dd>
<pre> 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); .....</pre>
<dt>
<img SRC="computer.gif" ><a href="hexdump1.c">Answer</a>
<hr><a NAME="yesterday"></a></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Print yesterdays date. You can use the ANSI standard functions 'time' and
'ctime'. An example of the O/P from my program is.</dd>
<pre> Fri Mar 17 18:46:47 1995</pre>
<dt>
<img SRC="computer.gif" ><a href="yesterday.c">Answer</a>
<hr><a NAME="binary"></a></dt>
<dt>
<img SRC="whiteball.gif" ></dt>
<dd>
Display a byte in binary format. For example:</dd>
<pre> 55 == 00110111</pre>
Things like <b><< <<= &</b> can be used to solve this problem.
<dt>
<img SRC="computer.gif" ><a href="binary_op.c">Answer</a></dt>
</dl>
<hr>
<center><table BORDER=2 WIDTH="80%" BGCOLOR="#FFFFF0" >
<tr ALIGN=CENTER>
<td WIDTH="25%"><a href="../cref.html" target="_top">Top</a></td>
<td WIDTH="25%"><a href="../master_index.html" target="_top">Master Index</a></td>
<td WIDTH="25%"><a href="../SYNTAX/keywords.html" target="_top">C Keywords</a></td>
<td WIDTH="25%"><a href="../FUNCTIONS/funcref.htm" target="_top">Functions</a></td>
</tr>
</table></center>
<p>
<hr>
<address>
Martin Leslie<script language="JavaScript">
<!-- //
document.write(document.lastModified);
// -->
</script>
</address>
</body>
</html>
|