#include<stdio.h> #include<string.h> #include<math.h> int Math(char *str) { int n, i=0; int temp=0, num=0,sum=0; char ch; n = strlen(str); while (str[i] <= '9' && str[i] >= '0') { temp = str[i] - '0'; num = num * 10 + temp; i++; } sum = num; num=0; ch = str[i]; i++; for (; i < n; i++) { if(str[i] <= '9' && str[i] >= '0') { while (str[i] <= '9' && str[i] >= '0') { temp = str[i] - '0'; num = num * 10 + temp; i++; } i--; } else { switch(ch) { case '+': sum = sum + num; break; case '-': sum = sum - num; break; case '*': sum = sum * num; break; case '/': sum = sum / num; break; } ch=str[i]; num=0; } } return sum; } int main() { int n,i,j,k,l; int num=0,sum=0; char temp[100],ch; printf("请输入算式:"); scanf_s("%s", temp); sum=Math(temp); printf("%d",sum); printf("结果为:%d\n", sum); return 0; }用到的算法
时间: 2024-02-02 08:03:29 浏览: 42
C标准库函数集
5星 · 资源好评率100%
这个程序使用了简单的四则运算算法,包括加、减、乘、除。它通过读取一个字符串表示的算术表达式,然后对其进行解析和计算得出结果。算法的核心部分是一个循环,它遍历整个表达式并根据运算符执行相应的计算。具体来说,它使用了以下步骤:
1. 读取表达式中的第一个数字,并将其转换为整数类型。
2. 将该数字赋值给变量sum,表示当前的计算结果。
3. 读取表达式中的下一个字符,如果是运算符,则将其保存到变量ch中。
4. 读取表达式中的下一个数字,并将其转换为整数类型。
5. 根据变量ch中保存的运算符执行相应的计算,将结果保存到变量sum中。
6. 重复步骤3-5,直到整个表达式被处理完毕。
7. 返回变量sum中保存的最终结果。
这个算法比较简单,但是它并没有考虑运算符的优先级和括号的影响,因此在处理复杂的算术表达式时可能会出现错误。
阅读全文