linux C 字符串转运算公式方法
时间: 2024-01-01 09:06:28 浏览: 122
在Linux下,可以使用标准C库中的数学函数库math.h来计算数学表达式。下面是一个简单的例子,可以将一个字符串中的数学表达式转换为运算结果。
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
char str[100];
fgets(str, 100, stdin); // 从标准输入读取字符串
double result = 0;
char *token = strtok(str, "+-*/"); // 分割字符串
double num = atof(token); // 转换第一个数字
int flag = 1; // 记录符号
while (token != NULL) {
token = strtok(NULL, "+-*/");
if (token != NULL) {
double next_num = atof(token);
switch (str[strlen(str) - strlen(token) - 1]) { // 判断上一个符号
case '+':
result += num * flag;
num = next_num;
break;
case '-':
result += num * flag;
num = -next_num;
break;
case '*':
num *= next_num;
break;
case '/':
num /= next_num;
break;
}
}
}
result += num * flag; // 加上最后一个数字
printf("%f\n", result);
return 0;
}
```
这个例子中,我们首先从标准输入读取一个字符串,然后使用strtok函数将其分割成数字和符号,再根据符号进行运算。需要注意的是,这个例子只能计算加减乘除四则运算,如果需要计算更复杂的数学表达式,可以考虑使用第三方数学库,比如GNU Scientific Library (GSL)。
阅读全文