C语言:任意算术表达式的求值

Python017

C语言:任意算术表达式的求值,第1张

一看你就是个菜鸟!哥来回答要实现输入任意表达式求值 楼上的的确不错 但是那是数据结构的 对于你们菜鸟来说 学习那还是早了点我来编写一道简单的题目吧:#include<stdio.h>void main(){double a,b,result//定义两个操作数char opr//定义算法printf("please input first number:")//输入第一个数scanf("%lf",&a)printf("操作方法:")//输入符号scanf("%c",&opr)printf("please input second number:")//输入第二个数scanf("%lf",&b)if (opr=='+')result=a+belse if(opr=='-')result=a-belse if(opr=='/')result=a/belse if(opr=='*')result=a*bprintf("运算结果是:%lf",result)}好了 OK 给我加分吧!

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

int n1,n2 /* 运算数 */

char opd /* 加减法 */

unsigned cnt,rst,rcnt

int i,fg

randomize()/* 产生随机数种子 */

/* 输入题数 */

printf("count: ")

scanf("%u",&cnt)

rcnt=0/* 回答正确的题数 */

for(i=0i<cnti++)

{

/* 根据加减法产生随机数 */

switch(rand()%2) /* 随机产生加减法 */

{

case 0:

fg=1opd='+'

n1=rand()%10

n2=rand()%10

break

case 1:

fg=-1opd='-'

n1=1+rand()%9

n2=rand()%n1

break

}

printf("%d%c%d=",n1,opd,n2)

scanf("%u",&rst)/* 输入结果 */

/* 对运算结果进行判断 */

if(rst==n1+fg*n2)

{

puts("Right")

rcnt++

}

else puts("Error")

}

/* 小结 */

printf("\n---------------------------\n")

printf("All: %u\n",cnt)

printf("Right: %u\n",rcnt)

printf("Error: %u\n",cnt-rcnt)

printf("Rate: %u%%\n",rcnt*100/cnt)

return 0

}

这是基本算法,如果还有什么问题,百度HI我,讨论。。