|
|
|
Chapter 23Answers to Selected Exercises1. [was #2; modified] double round_nearest(double x, int n) { double power = pow(10.0, n); if (x < 0.0) return ceil(x * power - 0.5) / power; else return floor(x * power + 0.5) / power; } 6. [was #6]
(a) 8. [was #8] int numchar(const char *s, char ch) { int count = 0; s = strchr(s, ch); while (s != NULL) { count++; s = strchr(s + 1, ch); } return count; } 10. [was #10] if (strstr("foo#bar#baz", str) != NULL)
The assumptions are that
11. [was #12] Answers to Selected Programming Projects2. [was #4; modified] #include <ctype.h> #include <stdbool.h> /* C99 only */ #include <stdio.h> int main(void) { bool nonblank_seen = false; int ch; while ((ch = getchar()) != EOF) { if (nonblank_seen) putchar(ch); else if (!isspace(ch)) { nonblank_seen = true; putchar(ch); } if (ch == '\n') nonblank_seen = false; } return 0; } Copyright © 2008, 1996 W. W. Norton & Company, Inc. All rights reserved. |