⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selsolutionsc5.txt

📁 primer c 5th edition 一书详细叙述了c语言的概念和知识。包括17章内容
💻 TXT
📖 第 1 页 / 共 5 页
字号:
Chapter 2
PE 2-1

/* Programming Exercise 2-1  */
#include <stdio.h>

int main(void)
{
    printf("Anton Bruckner\n");
    printf("Anton\nBruckner\n");
    printf("Anton ");
    printf("Bruckner\n");

    return 0;
}

PE 2-3

/* Programming Exercise 2-3  */
#include <stdio.h>

int main(void)
{
    int ageyears;    /* age in years */
    int agedays;    /* age in days  */
                /* large ages may require the long type */
    ageyears = 44;
    agedays = 365 * ageyears;
    printf("An age of %d years is %d days.\n", ageyears, agedays);

    return 0;
}


PE 2-4

/* Programming Exercise 2-4  */
#include <stdio.h>

void jolly(void);
void deny(void);

int main(void)
{
    jolly();
    jolly();
    jolly();
    deny();

    return 0;
}

void jolly(void)
{
    printf("For he's a jolly good fellow!\n");
}

void deny(void)
{
    printf("Which nobody can deny!\n");
}

PE 2-5

/* Programming Exercise 2-5  */
#include <stdio.h>

int main(void)
{
    int toes;
    
    toes = 10;
    
    printf("toes = %d\n", toes);
    printf("Twice toes = %d\n", 2 * toes);
    printf("toes squared = %d\n", toes * toes);

    return 0;
}

/* or create two more variables, set them to 2 * toes and toes * toes */

PE 2-7
/* Programming Exercise 2-7  */
#include <stdio.h>

void one_three(void);
void two(void);
int main(void)
{
    printf("starting now:\n");
    one_three();
    printf("done!\n");
    return 0;
}

void one_three(void)
{
    printf("one\n");
    two();
    printf("three\n");
}

void two(void)
{
    printf("two\n");
}
Chapter 3

PE 3-2

/* Programming Exercise 3-2  */
#include <stdio.h>

int main(void)
{
    int ascii;
    
    printf("Enter an ASCII code: ");
    scanf("%d", &ascii);
    printf("%d is the ASCII code for %c.\n", ascii, ascii);

    return 0;
}

PE 3-4

/* Programming Exercise 3-4  */
#include <stdio.h>

int main(void)
{
    float num;
    printf("Enter a floating-point value: ");
    scanf("%f", &num);
    printf("fixed-point notation: %f\n", num);
    printf("exponential notation: %e\n", num);

    return 0;
}

PE 3-6

/* Programming Exercise 3-6  */
#include <stdio.h>

int main(void)
{
    float mass_mol = 3.0e-23;   /* mass of water molecule in grams */
    float mass_qt = 950;        /* mass of quart of water in grams */
    float quarts;
    float molecules;
    
    printf("Enter the number of quarts of water: ");
    scanf("%f", &quarts);
    molecules = quarts * mass_qt / mass_mol;
    printf("%f quarts of water contain %e molecules.\n", quarts,
            molecules);

    return 0;
}

Chapter 4
PE 4-1

/* Programming Exercise 4-1  */
#include <stdio.h>

int main(void)
{
    char fname[40];
    char lname[40];
    
    printf("Enter your first name: ");
    scanf("%s", fname);
    printf("Enter your last name: ");
    scanf("%s", lname);
    printf("%s, %s\n", lname, fname);

    return 0;
}

PE 4-4

/* Programming Exercise 4-4 */
#include <stdio.h>

int main(void)
{
    float height;
    char name[40];
    
    printf("Enter your height in inches: ");
    scanf("%f", &height);
    printf("Enter your name: ");
    scanf("%s", name);
    printf("%s, you are %.3f feet tall\n", name, height / 12.0);
    
    return 0;
}

PE 4-6

/* Programming Exercise 4-6 */
#include <stdio.h>
#include <float.h>

int main(void)
{
    float ot_f = 1.0 / 3.0;
    double ot_d = 1.0 / 3.0;
    
    printf(" float values: ");
    printf("%.4f %.12f %.16f\n", ot_f, ot_f, ot_f);
    printf("double values: ");
    printf("%.4f %.12f %.16f\n", ot_d, ot_d, ot_d);
    printf("FLT_DIG: %d\n", FLT_DIG);
    printf("DBL_DIG: %d\n", DBL_DIG);
    return 0;
}

Chapter 5

PE 5-1

/* Programming Exercise 5-1 */
#include <stdio.h>

int main(void)
{
    const int minperhour = 60;
    int minutes, hours, mins;
    
    printf("Enter the number of minutes to convert: ");
    scanf("%d", &minutes);
    while (minutes > 0 )
    {
        hours = minutes / minperhour;
        mins = minutes % minperhour;
        printf("%d minutes = %d hours, %d minutes\n", minutes, hours, mins);
        printf("Enter next minutes value (0 to quit): ");
        scanf("%d", &minutes);
    }
    printf("Bye\n");
    
    return 0;
}

PE 5-3

/* Programming Exercise 5-3 */
#include <stdio.h>

int main(void)
{
    const int daysperweek = 7;
    int days, weeks, day_rem;
    
    printf("Enter the number of days: ");
    scanf("%d", &days);
    weeks = days / daysperweek;
    day_rem = days % daysperweek;
        
    printf("%d days are %d weeks and %d days.\n", days, weeks, day_rem);
    
    return 0;
}

PE 5-5

/* Programming Exercise 5-5 */
#include <stdio.h>
int main(void)                /* finds sum of first n integers */
{
  int count, sum;            
  int n;
  
  printf("Enter the upper limit: ");
  scanf("%d", &n);
  count = 0;                  
  sum = 0;                  
  while (count++ < n)
     sum = sum + count; 
  printf("sum = %d\n", sum);
  return 0;
}

PE 5-7

/* Programming Exercise 5-7 */
#include <stdio.h>
void showCube(double x);
int main(void)    /* finds cube of entered number */
{
     double val;
     
     printf("Enter a floating-point value: ");
     scanf("%lf", &val);
     showCube(val);
     
    return 0;
}

void showCube(double x)
{
    printf("The cube of %e is %e.\n", x, x*x*x );
}

Chapter 6
PE 6-1

/* pe6-1.c */
/* this implementation assumes the character codes */
/* are sequential, as they are in ASCII.           */
#include <stdio.h>
#define SIZE 26
int main( void )
{
    char lcase[SIZE];
    int i;
    
    for (i = 0; i < SIZE; i++)
        lcase[i] = 'a' + i;
    for (i = 0; i < SIZE; i++)
        printf("%c", lcase[i]);
    printf("\n");        

    return 0;
}

PE 6-3

/* pe6-3.c */
/* this implementation assumes the character codes */
/* are sequential, as they are in ASCII.           */

#include <stdio.h>

int main( void )
{
    char let = 'F';
    char start;
    char end;
    
    for (end = let; end >= 'A'; end--)
    {
        for (start = let; start >= end; start--)
            printf("%c", start);
        printf("\n");
    }
    
    return 0;
}

PE 6-5

/* pe6-5.c */

#include <stdio.h>

int main( void )
{
    int lower, upper, index;
    int square, cube;
    
    printf("Enter starting integer: ");
    scanf("%d", &lower);
    printf("Enter ending integer: ");
    scanf("%d", &upper);
    
    printf("%5s %10s %15s\n", "num", "square", "cube");
    for (index = lower; index <= upper; index++)
    {
        square = index * index;
        cube = index * square;
        printf("%5d %10d %15d\n", index, square, cube);
    }
        
    return 0;
}

PE 6-7

/* pe6-7.c */

#include <stdio.h>

int main( void )
{
    double n, m;
    double res;
    
    printf("Enter a pair of numbers: ");
    
    while (scanf("%lf %lf", &n, &m) == 2)
    {
        res = (n - m) / (n * m);
        printf("(%.3g - %.3g)/(%.3g*%.3g) = %.5g\n", n, m, n, m, res);
        printf("Enter next pair (non-numeric to quit): ");
    }
            
    return 0;
}

PE 6-10

/* pe6-10.c */

#include <stdio.h>
#define SIZE 8
int main( void )
{
    int vals[SIZE];
    int i;    
    
    printf("Please enter %d integers.\n", SIZE);
    for (i = 0; i < SIZE; i++)
        scanf("%d", &vals[i]);
    printf("Here, in reverse order, are the values you entered:\n");
    for (i = SIZE - 1; i > 0; i--)
        printf("%d ", vals[i]);
    printf("\n");
                
    return 0;
}

PE 6-12

/* pe6-12.c */
/* This version starts with the 0 power */

#include <stdio.h>

#define SIZE 8
int main( void )
{
    int twopows[SIZE];
    int i;
    int value = 1;    /* 2 to the 0 */
    
    for (i = 0; i < SIZE; i++)
    {
        twopows[i] = value;
        value *= 2;
    }
    
    i = 0;
    do
    {
        printf("%d ", twopows[i]);
        i++;
    } while (i < SIZE);
    printf("\n");
                    
    return 0;
}

PE 6-13

/* pe-13.c */
/* Programming Exercise 6-13 */
#include <stdio.h>

#define SIZE 8
int main(void)
{
    double arr[SIZE];
    double arr_cumul[SIZE];
    int i;
    
    printf("Enter %d numbers:\n", SIZE);
    
    for (i = 0; i < SIZE; i++)
    {
        printf("value #%d: ", i + 1);
        scanf("%lf", &arr[i]);
    /* or scanf("%lf", arr + i);    */
    }
    
    arr_cumul[0] = arr[0];      /* set first element */
    for (i = 1; i < SIZE; i++)
        arr_cumul[i] = arr_cumul[i-1] + arr[i];
    
    for (i = 0; i < SIZE; i++)
        printf("%8g ", arr[i]);
    printf("\n");
    for (i = 0; i < SIZE; i++)
        printf("%8g ", arr_cumul[i]);
    printf("\n");
    
                
    return 0;
}

PE 6-15

/* pe6-15.c */

#include <stdio.h>

#define RATE_SIMP 0.10
#define RATE_COMP 0.05
#define INIT_AMT 100.0
int main( void )
{
    double daphne = INIT_AMT;
    double deidre = INIT_AMT;
    int years = 0;
    
    while (deidre <= daphne)
    {
        daphne += RATE_SIMP * INIT_AMT;
        deidre += RATE_COMP * deidre;
        ++years;
    }
    printf("Investment values after %d years:\n", years);
    printf("Daphne: $%.2f\n", daphne);
    printf("Deidre: $%.2f\n", deidre);

    return 0;
}

Chapter 7
PE 7-1

/* Programming Exercise 7-1 */
#include <stdio.h>

int main(void)    
{
     char ch;
     int sp_ct = 0;
     int nl_ct = 0;
     int other = 0;
     
     while ((ch = getchar()) != '#')
     {
         if (ch == ' ')
             sp_ct++;
         else if (ch == '\n')
             nl_ct++;
         else
             other++;
     }
     printf("spaces: %d, newlines: %d, others: %d\n", sp_ct, nl_ct, other);
     
    return 0;
}

PE 7-3

/* Programming Exercise 7-3 */
#include <stdio.h>

int main(void)    
{
     int n;
     double sumeven = 0.0;
     int ct_even = 0;
     double sumodd = 0.0;
     int ct_odd = 0;
      
     while (scanf("%d", &n) == 1 && n != 0)
     {
         if (n % 2 == 1)
         {
             sumodd += n;
             ++ct_odd;
         }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -