Skip to content

Commit 328e276

Browse files
committed
chapter 7 exercises
1 parent f5dea95 commit 328e276

File tree

6 files changed

+131
-0
lines changed

6 files changed

+131
-0
lines changed

ex.7.2.c

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#include <stdio.h>
2+
3+
int main (void)
4+
{
5+
int values[10];
6+
int index;
7+
8+
for ( index = 0; index < 10; ++index )
9+
values[index] = 0;
10+
11+
values[0] = 197;
12+
values[2] = -100;
13+
values[5] = 350;
14+
values[3] = values[0] + values[5];
15+
values[9] =
16+
values[5] / 10;
17+
--values[2];
18+
19+
for ( index = 0; index < 10; ++index )
20+
printf ("values[%i] = %i\n", index, values[index]);
21+
22+
return 0;
23+
}

ex.7.3.c

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#include <stdio.h>
2+
3+
int main (void)
4+
{
5+
int ratingCounters[11], i, response;
6+
7+
for ( i = 1; i <= 10; ++i )
8+
ratingCounters[i] = 0;
9+
10+
printf ("Enter your responses\n");
11+
12+
while ( 1 ) {
13+
scanf ("%i", &response);
14+
15+
if ( response == 999 )
16+
break;
17+
else if ( response < 1 || response > 10 )
18+
printf ("Bad response: %i\n", response);
19+
else
20+
++ratingCounters[response];
21+
}
22+
23+
printf ("\n\nRating Number of Responses\n");
24+
printf ("------ --------------------\n");
25+
26+
for ( i = 1; i <= 10; ++i )
27+
printf ("%4i%14i\n", i, ratingCounters[i]);
28+
29+
return 0;
30+
}

ex.7.4.c

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Calculate the average of an array of floating-point values
2+
#include <stdio.h>
3+
4+
int main (void)
5+
{
6+
float values[10] = {
7+
0.1, 1.2, 2.3, 3.4, 4.5,
8+
5.6, 6.7, 7.8, 8.9, 9.0
9+
};
10+
int count = sizeof(values) / sizeof(float);
11+
12+
float sum;
13+
14+
for ( int i = 0; i < count; i++ )
15+
sum += values[i];
16+
17+
printf ("Average: %.2f\n", sum / count);
18+
19+
return 0;
20+
}

ex.7.5.c

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#include <stdio.h>
2+
3+
int main (void)
4+
{
5+
int numbers[10] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
6+
int i, j;
7+
8+
for ( j = 0; j < 10; ++j )
9+
for ( i = 0; i < j; ++i )
10+
numbers[j] += numbers[i];
11+
12+
for ( j = 0; j < 10; ++j )
13+
printf ("%i ", numbers[j]);
14+
15+
printf ("\n");
16+
17+
return 0;
18+
}

ex.7.6.c

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Program to generate the first 15 Fibonacci numbers
2+
#include <stdio.h>
3+
4+
int main (void)
5+
{
6+
int prePrevFibonacci, prevFibonacci, Fibonacci, i;
7+
8+
prePrevFibonacci = 0;
9+
prevFibonacci = 1;
10+
11+
printf ("%i\n%i\n", prePrevFibonacci, prevFibonacci);
12+
13+
for ( i = 0; i < 13; ++i ) {
14+
Fibonacci = prePrevFibonacci + prevFibonacci;
15+
printf ("%i\n", Fibonacci);
16+
17+
prePrevFibonacci = prevFibonacci;
18+
prevFibonacci = Fibonacci;
19+
}
20+
21+
return 0;
22+
}

ex.7.7.c

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Use the Sieve of Erastosthenes to generate prime numbers
2+
#include <stdio.h>
3+
4+
int main (void)
5+
{
6+
const int n = 150;
7+
int P[n + 1] = { 0 };
8+
9+
for ( int i = 2; i <= n; ++i ) {
10+
if ( P[i] == 0 )
11+
printf ("%i ", i);
12+
for ( int j = 1; i * j <= n; ++j )
13+
P[i * j] = 1;
14+
}
15+
printf ("\n");
16+
17+
return 0;
18+
}

0 commit comments

Comments
 (0)