Code:These are the program descriptions: Write a program that evaluates an expression: 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). Specifications: a) You can assume that the expression has the format: an operand followed by an operator, then by an operand, an operator, …, ended with an operand. b) Use float type for the operands and the value of expressions. c) If there is a dividing by zero in the expression, display “Cannot divide by zero” error message and abort the program. d) Skip blank characters in an expression. I can enter any number of expressions, but the divide function does not work (the answer comes up as 0). Also, if I want to add two numbers, then multiply by another, it does not even exit. Is there a way that I don't have to enter 0 to terminate the program? If anyone can answer ASAP, it would be greatly appreciated. This is what I have so far. #include <stdio.h> int main(void) { char ch; float n, value = 0; printf("Enter an expression: "); scanf("%f%c%f", &n, &ch, &value); while (n != 0) { if (ch == '+') { value += n; } if (ch == '-') { value -= n; } if (ch == '*') { value *= n; } if (ch == '/') { value /= n; } scanf("%f", &n); } printf("The value of expression is: %.1f\n", value); return 0; }