有自学c语言成功的吗,自学c语言成功的进来

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

--------------------------------------------------------------------------------

#include

#include

#include

float calculate(float a,char x,float b);

char pre(char a,char b);

int cla(char c);

void main()

{

char b[10];

float a[10];

float temp;

char str[20],c;

int i=0,j=0,k=0,m=0;

b[0]='#';

clrscr();

c=getchar();

while(c!='#'¦¦b[j]!='#')

{

if(c!='+'&&c!='-'&&c!='*'&&c!='/'&&c!='('&&c!=')'&&c!='#')

{

str[k]=c;

str[k+1]='\0';

k++;

m=1;

c=getchar();

}

else

{

if(m=1)

{

a[i]=atof(str);

i++;

k=0;

str[k]='\0';

}

m=0;

if(b[j]=='(')

{

if(c!=')')

{

j++;

b[j]=c;

c=getchar();

}

else if(c==')')

{

j--;

c=getchar();

}

}

else

{

switch(pre(b[j], c))

{

case'

case'=':j--;c=getchar();break;

case'>':temp=calculate(a[--i],b[j--],a[--i]);a[i]=temp;i++;break;

}

}

}

}

printf("=%f",a[0]);

}

float calculate(float a,char x,float b)

{

float z;

switch(x)

{

case'+':z=a+b;break;

case'-':z=a-b;break;

case'*':z=a*b;break;

case'/':z=a/b;break;

}

return(z);

}

char pre(char a,char b)

{

char z;

int temp;

temp=cla(a)+1-cla(b);

if(a=='('&&b==')') z='=';

else if(a=='#'&&b=='#') z='=';

else if(temp>0) z='>';

else if(temp<0) z='

else printf("fu hao wrong");

return z;

}

int cla(char c)

{

int z;

switch©

{case'+': z=4;break;

case'-': z=4;break;

case'*': z=6;break;

case'/': z=6;break;

case'(': z=8;break;

case')': z=2;break;

case'#': z=0;break;

}

return z;

}

作者:25760979

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值