Answers For Programming Exercises in C Primer Plus, 5
rd
Edition, by Stephen Prata
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();
*/
sp
Page 1 of 86 August 21, 1999
Answers For Programming Exercises in C Primer Plus, 5
rd
Edition, by Stephen Prata
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");
*/
sp
Page 2 of 86 August 21, 1999
Answers For Programming Exercises in C Primer Plus, 5
rd
Edition, by Stephen Prata
}
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)
{
*/
sp
Page 3 of 86 August 21, 1999
Answers For Programming Exercises in C Primer Plus, 5
rd
Edition, by Stephen Prata
float
float
float
float
mass_mol = 3.0e-23;
mass_qt = 950;
quarts;
molecules;
/* mass of water molecule in grams */
/* mass of quart of water in grams */
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;
sp
Page 4 of 86 August 21, 1999
Answers For Programming Exercises in C Primer Plus, 5
rd
Edition, by Stephen Prata
}
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;
}
sp
Page 5 of 86 August 21, 1999
评论