``````/***************************************************
F = m a Program

Write a program that solves for the unknown variable
in the F = m a equation.  The user enters two
variable = value pairs (e.g "m = 10.0 F = 3.5") and
the program writes the unknown variable and its
value ("a = .35" in our example).

***************************************************/
#include "si204.h"

/* Note: this is the straightfoward but very TEDIOUS
* way to solve this problem. */
int main() {
fputs("The F = m a Program\n", stdout);

char var1;
char c;
double val1;
fputs("Enter <var> = <value> : ", stdout);
var1 = readchar(stdin); // the variable
c = readchar(stdin);    // the equals sign
val1 = readnum(stdin);  // the value

char var2;
double val2;
fputs("Enter <var> = <value> : ", stdout);
var2 = readchar(stdin); // the variable
c = readchar(stdin);    // the equals sign
val2 = readnum(stdin);  // the value

// Decide which variable is missing & solve
if (var1 == 'F') {
// var1 is F
if (var2 == 'm') {
fputs("a = ", stdout);
writenum(val1 / val2, stdout);
fputs("\n", stdout);
} else {
fputs("m = ", stdout);
writenum(val1 / val2, stdout);
fputs("\n", stdout);
}
} else {
if (var1 == 'm') {
// var1 is m
if (var2 == 'a') {
fputs("F = ", stdout);
writenum(val1 * val2, stdout);
fputs("\n", stdout);
} else {
fputs("a = ", stdout);
writenum(val2 / val1, stdout);
fputs("\n", stdout);
}
} else {
// var1 is a
if (var2 == 'm') {
fputs("F = ", stdout);
writenum(val1 * val2, stdout);
fputs("\n", stdout);
} else {
fputs("m = ", stdout);
writenum(val2 / val1, stdout);
fputs("\n", stdout);
}
}
}

return 0;
}``````