C Primer Plus È«ÊéÔ´´úÂ루ËÄ£©

ÉÏһƪ / ÏÂһƪ  2012-03-19 09:29:05 / ¸öÈË·ÖÀࣺѧϰÈÕÖ¾

//  chapter 09º¯Êý

/* lesser.c -- finds the lesser of two evils */

/*

#include <stdio.h>

int imin(int, int);

 

int main(void)

{

   int evil1, evil2;

 

   printf("Enter a pair of integers (q to quit):\n");

   while (scanf("%d %d", &evil1, &evil2) == 2)

   {

       printf("The lesser of %d and %d is %d.\n",

           evil1, evil2, imin(evil1,evil2));

       printf("Enter a pair of integers (q to quit):\n");

   }

   printf("Bye.\n");

 

   return 0;

}

 

int imin(int n,int m)

{

   int min;

 

   if (n < m)

       min = n;

   else

       min = m;

 

   return min;

}

 

 

*/

////////////////////////////////////////////////////

 

/* recur.c -- recursion illustration */

/*                                                       // don't understand how it works

#include <stdio.h>

void up_and_down(int);

 

int main(void)

{

   up_and_down(1);

   return 0;

}

 

void up_and_down(int n)

{

   printf("Level %d: n location %p\n", n, &n);

   if (n < 4)

        up_and_down(n+1);

   printf("LEVEL %d: n location %p\n", n, &n);

}

 

*/

 

//////////////////////////////////////////////////////

/* binary.c -- prints integer in binary form. */

/*

#include <stdio.h>

void to_binary(unsigned long n);

 

int main(void)

{

   unsigned long number;

   printf("Enter an integer (q to quit):\n");

   while (scanf("%ul", &number) == 1)

   {

       printf("Binary equivalent: ");

       to_binary(number);

       putchar('\n');

       printf("Enter an integer (q to quit):\n");

   }

   printf("Done.\n");

 

  return 0;

}

 

void to_binary(unsigned long n)  //* recursive function

{

   int r;

 

   r = n % 2;

   if (n >= 2)

      to_binary(n / 2);

   putchar('0' + r);

 

   return;

}

*/

//////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////

//chapter 10 Êý×éºÍÖ¸Õë

 

/* some_data.c -- partially initialized array */        //δ¸³ÖµµÄÔªËر»³õʼ»¯Îª0

/*

#include <stdio.h>

#define SIZE 4

int main(void)

{

   int some_data[SIZE] = {1492, 1066};  

   int i;

 

   printf("%2s%14s\n",

          "i", "some_data[i]");

   for (i = 0; i < SIZE; i++)

       printf("%2d%14d\n", i, some_data[i]);

 

   return 0;

}

*/

//////////////////////////////////////////////////////

// designate.c -- use designated initializers

/*                                                               //here has some problem ,you should take care ,it doesn't cordinate with the textbook

#include <stdio.h>

#define MONTHS 12

int main(void)

{

   int days[MONTHS] = {31,28,days[4] = 28,30,31, days[1]= 29};

   int i;

 

   for (i = 0; i < MONTHS; i++)

       printf("%2d %d\n", i + 1, days[i]);

  

   return 0;

}

*/

//////////////////////////////////////////////////////

// bounds.c -- exceed the bounds of an array

/*

#include <stdio.h>

#define SIZE 4

int main(void)

{

   int value1 = 44;

   int arr[SIZE];

   int value2 = 88;

   int i;

 

   printf("value1 = %d, value2 = %d\n", value1, value2);

   for (i = -1; i <= SIZE; i++)

       arr[i] = 2 * i + 1;

       

   for (i = -1; i < 7; i++)

       printf("%2d %d\n", i , arr[i]);

   printf("value1 = %d, value2 = %d\n", value1, value2);

 

   return 0;

}

*/

////////////////////////////////////////////////////////

/* rain.c -- finds yearly totals, yearly average, and monthly

                average for several years of rainfall data */

/*

#include <stdio.h>

#define MONTHS 12   // number of months in a year

#define YEARS  5   // number of years of data

int main(void)

{

 // initializing rainfall data for 2000 - 2004

   const float rain[YEARS][MONTHS] =

   {

       {4.3,4.3,4.3,3.0,2.0,1.2,0.2,0.2,0.4,2.4,3.5,6.6},

       {8.5,8.2,1.2,1.6,2.4,0.0,5.2,0.9,0.3,0.9,1.4,7.3},

       {9.1,8.5,6.7,4.3,2.1,0.8,0.2,0.2,1.1,2.3,6.1,8.4},

       {7.2,9.9,8.4,3.3,1.2,0.8,0.4,0.0,0.6,1.7,4.3,6.2},

       {7.6,5.6,3.8,2.8,3.8,0.2,0.0,0.0,0.0,1.3,2.6,5.2}

   };

   int year, month;

   float subtot, total;

 

   printf(" YEAR   RAINFALL (inches)\n");

   for (year = 0, total = 0; year < YEARS; year++)

   {            // for each year, sum rainfall for each month

       for (month = 0, subtot = 0; month < MONTHS; month++)

           subtot += rain[year][month];

       printf("%5d %15.1f\n", 2000 + year, subtot);

       total += subtot; // total for all years

    }

   printf("\nThe yearly average is %.1f inches.\n\n",

           total/YEARS);

   printf("MONTHLY AVERAGES:\n\n");

   printf(" Jan Feb Mar Apr May Jun Jul Aug Sep Oct ");

   printf(" Nov Dec\n");

 

   for (month = 0; month < MONTHS; month++)

   {            // for each month, sum rainfall over years

       for (year = 0, subtot =0; year < YEARS; year++)

           subtot += rain[year][month];

       printf("%4.1f ", subtot/YEARS);

   }

   printf("\n");

 

   return 0;

}

 

*/

//////////////////////////////////////////////////////

/*

// pnt_add.c -- pointer addition

#include <stdio.h>

#define SIZE 4

int main(void)

{

   short dates [SIZE];

   short * pti;

   short index;

   double bills[SIZE];

   double * ptf;

 

   pti = dates;   // assign address of array to pointer

   ptf = bills;

   printf("%23s %10s\n", "short", "double");

   for (index = 0; index < SIZE; index ++)

       printf("pointers + %d: %10p %10p\n",

               index, pti + index, ptf + index);

 

   return 0;

}

*/

//////////////////////////////////////////////////////

 

/* day_mon3.c -- uses pointer notation */

/*

#include <stdio.h>

#define MONTHS 12

 

int main(void)

{

   int days[MONTHS] = {31,28,31,30,31,30,31,31,30,31,30,31};

   int index;

 

   for (index = 0; index < MONTHS; index++)

       printf("Month %2d has %d days.\n", index +1,

              *(days + index));  // same as days[index]

 

   return 0;

}

*/

//////////////////////////////////////////////////////

 

// sum_arr1.c -- sums the elements of an array

// use %u or %lu if %zd doesn't work

/*

#include <stdio.h>

#define SIZE 10

int sum(int ar[], int n);

int main(void)

{

   int marbles[SIZE] = {20,10,5,39,4,16,19,26,31,20};

   long answer;

TAG:

 

ÆÀ·Ö£º0

ÎÒÀ´ËµÁ½¾ä

Open Toolbar