Question: Write a program that evaluates an expression in C: Example: Enter an expression: 1+2.5*3 Value of expression: 10.5 The operands in the expression are floating-point

Write a program that evaluates an expression in C:

Example: Enter an expression: 1+2.5*3 Value of expression: 10.5

The operands in the expression are floating-point numbers; the operators are +, -, *, and /. The expression is evaluated from left to right (no operator takes precedence over any other operator).

My attempt:

#include

int main(void) { char ch; float n, value; printf("Enter an expression: "); scanf("%f%c%f", &value, &ch); while (ch == '+' || '-' || '*' || '/') { scanf("%f", &n); if (ch == '+'){ value += n; } if (ch == '-'){ value -= n; } if (ch == '*'){ value *= n; } if (ch == '/'){ value /= n; } scanf("%c", &ch); } printf("Value of expression: %f", value); return 0; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!