c语言输入算式算结果
时间: 2024-12-12 20:17:49 浏览: 22
在C语言中,处理算术表达式的输入并计算其结果通常涉及到用户输入、字符串解析以及基本的数学运算。以下是一个简单的示例,展示如何实现这个功能:
```c
#include <stdio.h>
#include <stdlib.h>
// 函数用于计算表达式的值
double calculate(char *expression) {
double num = 0.0;
char *token = expression;
int sign = 1;
while (*token != '\0') {
if (isdigit(*token)) {
// 读取数字部分
while (isdigit(*token)) {
num = num * 10 + (*token - '0');
token++;
}
} else if (*token == '+' || *token == '-') {
// 遇到运算符,处理前一个数和运算符
num *= sign;
sign = *token == '+' ? 1 : -1;
token++;
}
// 检查是否遇到下一个数
if (*token == '(') {
token++; // 跳过左括号
while (*token != ')' && *token != '\0') {
token++;
}
if (*token == ')') {
token++; // 跳过右括号
}
}
}
// 处理最后一个数和运算符
num *= sign;
return num;
}
int main() {
char input[100];
printf("请输入一个算式(例如: 1+2*3): ");
fgets(input, sizeof(input), stdin);
// 移除末尾的换行符
input[strlen(input)-1] = '\0';
double result = calculate(input);
printf("结果是: %.2f\n", result);
return 0;
}
```
在这个例子中,我们创建了一个`calculate`函数,它通过遍历输入的字符串并识别数字、运算符和括号,逐步计算出表达式的值。然后在`main`函数中获取用户输入,并使用这个函数进行计算。
阅读全文