散分求解答,关于无规则运算
输入一个算式(没有空格),遇等号'='说明输入结束。假设只进行“加、减、乘、除”运算,且运算数和结果都是整数,四种运算符的优先级别相同,从左到右的顺序计算。如,输入“1+2*10-10/2=”之后,输出10.有多个测试用例。第一行是一个正整数N,表示测试用例的个数。 接下来是N行,每行是一个算式。每行所含字符个数小于1000个.
下面是我编的代码,不过运行不对捏,稍微有点纠结了,麻烦高手帮下忙,那个死神版主大人也来给点建议哈
#include<stdio.h>
int main()
{
int i,n,a,b,s,sum;
char ch;
scanf("%d",&n);
for(i=0;i<n;i++)
{
sum=0;
scanf("%d%c%d",&a,&ch,&b);
while((ch=getchar())!='=')
{
if(ch=='+')
s=a+b;
else if(ch=='-')
s=a-b;
else if(ch=='*')
s=a*b;
else if(ch=='/')
s=a/b;
sum=s+sum;
}
printf("%d\n",sum);
}
return 0;
}









程序代码:
很好的方法啊,够简洁,输入一个数据再用switch语句判断符号进行运算,然后再跳出该语句,继续输入数据,嗯,看明白了,谢谢了啊,版主大人
嘿嘿
嗯,确实太喜欢了

。
变量比我的还多捏,我来试试稍微修改下先。。。谢谢斑竹大人了,你的一护头像我记得很牢啊,我问题很多的,下次开贴再大大的奖奖你哈