CS 2213/1, Spring 2005 Quiz 2 Questions |
Last Name: | First Name: |
Answers are in RED.
C source file: quadratic.c |
---|
#include <math.h> #include "quadratic.h" static double disc(double a, double b, double c); int roots(double a, double b, double c, double *r1p, double *r2p) { double d = disc(a, b, c); if (a == 0) return -1; else if (d >= 0) { *r1p = (-b + sqrt(d))/(2.0*a); *r2p = (-b - sqrt(d))/(2.0*a); return 1; } else return 0; } static double disc(double a, double b, double c) { return b*b - 4.0*a*c; } |
C source file: quadratic_main.c |
#include <stdio.h> #include "quadratic.h" int main() { double a, b, c, r1, r2; int realroots; printf("Enter coefficients of quadratic equation: "); scanf( /* PART a: REST OF SCANF BELOW */ "%lf %lf %lf", &a, &b, &c ); realroots = roots(a, b, c, &r1, &r2); if (realroots == -1) printf("Not a quadratic equation\n"); else if (realroots == 0) printf("Complex roots\n"); else printf("Real roots: %7.4f, %7.4f\n", r1, r2); } |
C source file: quadratic.h (fill in a name) |
/* Third C source file here */ /* quadratic.h: prototype for roots function */ int roots(double a, double b, double c, double *r1p, double *r2p); |
This program works correctly, except that I have omitted a few details that you are to provide.
Consider the standard copy program in C:
C source file: quadratic.c |
---|
#include <stdio.h> #include <ctype.h> int main(void) { int ch; int lett = 0, digit = 0, lines = 0; while ((ch = getchar()) != EOF) { /* putchar(ch); */ if (isalpha(ch)) lett++; if (isdigit(ch)) digit++; if (ch == '\n') lines++; } printf("Letters: %i, digits: %i, lines: %i\n", lett, digit, lines); } |