c语言可以编写计算程序吗,:谁能给我一个用C语言编写的 计算器程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

printf("please input the Expression :\n ");

gets©;

s=filter©;

Resolve(s,a,b);

while(b[i]!='\0'&&b!='\n')

{

if(b[i]!='('){ if(kern<=a[0])number=stackin(number,a[kern++]); }

if(b[i]=='a'||b[i]=='s'){

number=stackout(number,&num);

number=stackin(number,tatal(0,num,b[i]));

}

else if(operater==NULL||b[i]=='(')operater=stackin(operater,(double)b[i]);

else if(b[i]==')')

{

if((char)operater->data=='(')operater=stackout(operater,&sum);

else { while((char)operater->data!='(')

{

number=stackout(number,&num);

ber=stackin(ber,num);

operater=stackout(operater,&sum);

if(oper==NULL)oper=stackin(oper,sum);

else {

if(max((char)sum)<=max((char)oper->data)&&ber->next!=NULL)

{

ber=stackout(ber,&num1);

ber=stackout(ber,&num2);

oper=stackout(oper,&num);

ber=stackin(ber,tatal(num1,num2,(char)num));

}

oper=stackin(oper,sum);

}

}

number=stackout(number,&num1);

ber=stackin(ber,num1);

operater=stackout(operater,&sum);

ber=stackout(ber,&num1);

ber=stackout(ber,&num2);

oper=stackout(oper,&num);

if((char)num=='-'||(char)num=='/')number=stackin(number,Contrary(num1,num2,(char)num));

else { number=stackin(number,tatal(num1,num2,(char)num)); }

}

}

else {

if(max(b[i])<=max((char)operater->data)&&number->next!=NULL)

{

number=stackout(number,&num1);

number=stackout(number,&num2);

operater=stackout(operater,&sum);

num=tatal(num1,num2,(char)sum);

number=stackin(number,num);

}

operater=stackin(operater,(double)b[i]);

}

i++;

}

if(kern<=a[0])number=stackin(number,a[kern]);

while(operater!=NULL)

{

number=stackout(number,&num1);

number=stackout(number,&num2);

operater=stackout(operater,&sum);

number=stackin(number,tatal(num1,num2,(char)sum));

}

for(k=0;s[k]!='\0';k++)printf("%c",s[k]);

number=stackout(number,&num2);

printf("=%lf\n",num2);

printf("\nSuccess! Press any key to exit!\n");

getch();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值