#include <stdio.h> // for printf()
int power(int m, int n); // returns m to power n
// int power(int, int); // alternative declaration
// test power() function
int main()
{
int i;
for (i = 0; i < 10; i++)
{printf("%d %d %d\n", i, power(2,i), power(-3,i));}
return 0; // normal return value for main(), signals no errors
}
// power(): raise base to n-th power; n >= 0
int power(int base, int n)
{
int i, p;
p = 1; // base to power 0 is 1
for (i = 1; i <= n; i++)
{p *= base;} // p = p * base;
return p;
}
/*
gcc power.c -o power
./power
0 1 1
1 2 -3
2 4 9
3 8 -27
4 16 81
5 32 -243
6 64 729
7 128 -2187
8 256 6561
9 512 -19683
*/
*****************************************************************************************
*****************************************************************************************
*****************************************************************************************
*****************************************************************************************
*****************************************************************************************
Exercise 1-15. Rewrite the temperature conversion program of Section 1.2 to use a function for conversion.
#include <stdio.h> // for printf()
float ftoc (int); // Fahrenheit to Celsius
// print Fahrenheit-Celsius table
int main()
{
int fahr;
for (fahr = 0; fahr <= 300; fahr += 20)
{printf("%3d %6.1f\n", fahr, ftoc(fahr));}
return 0;
}
float ftoc (int f) // Fahrenheit to Celsius
{
return (5.0/9.0)*(f-32);
}
/*
gcc fahrf.c -o fahrf
./fahrf
0 -17.8
20 -6.7
40 4.4
60 15.6
80 26.7
100 37.8
120 48.9
140 60.0
160 71.1
180 82.2
200 93.3
220 104.4
240 115.6
260 126.7
280 137.8
300 148.9
*/
*****************************************************************************************
*****************************************************************************************
*****************************************************************************************
*****************************************************************************************
*****************************************************************************************
#include <stdio.h> // for printf()
int power(int m, int n); // returns m to power n
// int power(int, int); // alternative declaration
// test power() function
// arguments passed by value
int main()
{
int n; // var local to main()
n = 5;
printf("n = %d\n", n);
printf("%d\n", power(2,n));
printf("n = %d\n", n); // check that n wasn't changed by power()
return 0;
}
// power(): raise base to n-th power; n >= 0
int power(int base, int n)
{
int p; // var local to power()
// base to power 0 is 1
for (p = 1; n > 0; --n)
{p *= base;} // p = p * base;
return p;
}
/*
gcc args.c -o args
./args
n = 5
32
n = 5
*/