c语言200计算器,C语言计算器,只支持+-*/ ,要的拿去

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

#include 

main()

{

char st[100]={'0',''}; /*记录用户输入的内容*/

char st0[50]={'0',''}; /*临时所用的字符串 */

char st1[1]={'0'}; /*临时所用的字符串 */

double d[20]; /* 储存数据的数组 */

char ss[20]={''}; /*储存符号的字符串 */

int dn=0; /*记录数组的有效个数*/

double swanp5();

/*临时所用到的变量*/

char *p;

char c;

int n,i,j,k;

double x,y,x1,x2;

/*临时所用到的变量*/

while(1){

list();

/*--记录用户的输入---------------*/

p=st;

while( (c=getchar())!='\n' ){

*p=c;p++;

}

*p='\0';

/*--测试输入是否记录下来----------*/

if(st[0]=='+'||st[0]=='-'||st[0]=='*'||st[0]=='/')

swanp11(st0,st);

if(st[0]=='.') swanp11("0",st);

/*printf("%s\n",st);*/

/*----------求d[] ,ss[] 开始-------*/

while(1){

/*得到第一个数据*/

*st0='0'; /*st=1.2+3.4+5.6*/

swanp1(st0,st);/*st0=1.2*/

x=swanp5(st0);/*x=1.2*/

d[dn]=x;dn++;/*d=1.2, dn=1*/

/*得到第一个数据*/

/*得到第一个符号*/

*st1='0';

swanp2(st,st1); /*st1='+'*/

c=*st1; /*c='+'*/

if( c=='0') break;

swanp3(ss,c); /*ss='+', */

/*st=1.2+3.4+5.6*/

/*得到第一个符号*/

/*初始化输入*/

i=swanp4(st0);

for(n=0;n<=i;n++)

swanp9(st,0);

/*初始化输入*/

}

/*----------求d[] ,ss[]完毕---------*/

/*---计算两组据运算结果 y 开始-----*/

while(1){

/*运算一次*/

p=ss;

i=swanp8(ss);if(i==-1) break;

c=*(p+i);

x1=d[i];

x2=d[i+1];

k=1;

switch(*(p+i)){

case '+':y=x1+x2;break;

case '-':y=x1-x2;break;

case '*':y=x1*x2;break;

case '/':y=x1/x2;break;

default:k=0;break;

}

/*运算一次*/

/*初始化 */

swanp6(d,i,dn);dn--;

swanp7(d,i,y);

swanp9(ss,i);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值