字符串转计算公式c语言
时间: 2023-11-27 07:46:20 浏览: 184
可以使用C语言中的数学库函数和字符串库函数来实现字符串转计算公式。以下是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main() {
char str[100];
printf("请输入一个包含加减乘除的计算公式:");
scanf("%s", str);
int len = strlen(str);
int i = 0;
double num1 = 0, num2 = 0, result = 0;
char op = '+';
while (i < len) {
if (str[i] >= '0' && str[i] <= '9') {
num1 = num1 * 10 + (str[i] - '0');
} else if (str[i] == '+' || str[i] == '-' || str[i] == '*' || str[i] == '/') {
op = str[i];
i++;
break;
}
i++;
}
while (i < len) {
if (str[i] >= '0' && str[i] <= '9') {
num2 = num2 * 10 + (str[i] - '0');
} else if (str[i] == '+' || str[i] == '-' || str[i] == '*' || str[i] == '/') {
switch (op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
}
num1 = result;
num2 = 0;
op = str[i];
}
i++;
}
switch (op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
}
printf("计算结果为:%lf\n", result);
return 0;
}
```
该程序首先要求用户输入一个包含加减乘除的计算公式,然后使用两个while循环分别提取出公式中的两个数字和运算符,并根据运算符进行计算,最终输出计算结果。