精通acm规则的大神请来,一个代码自认为已经算符合题意但是就是说我答案错误,请大家一起帮忙找错
跃2.0 2017-01-06 12:38:12 题目:
主页 讨论版 问题 名次 状态 统计
问题 C: 四则运算函数
时间限制: 1 Sec 内存限制: 128 MB
提交: 894 解决: 328
状态
题目描述
与简单的求和函数类似,但是这次不单单是20以内的求和了。我们定义了四个函数,add(a,b)=a+b; sub(a,b)=a-b; mul(a,b)=a*b; div(a,b)=a/b,输出它们的值。
输入
输入数据有多组。
第一行输入n,接下来n行输入n个函数。(保证是单层运算,不会出现如:add(add(a,b),c)这样的情况)
输出
顺序输出对应函数的值。
每个输出占一行。
除法运算中,除数为0时输出“error”,得到的商不是整数的保留两位小数。
样例输入
6
add(1,5)
mul(7,8)
div(5,3)
sub(1,2)
sub(3,4)
add(11,1)
样例输出
6
56
1.67
-1
-1
12
提示
请用自定义函数解答。
别人帮我修改后加我自己百度后的代码:
#include<stdio.h>
int main()
{
int n,i;
int m,j;
char c,o,p,q;
while( scanf("%d%*c",&n)!=EOF)
{
scanf("%c%c%c(%d,%d)",&c,&o,&q,&j,&m);
if((c=='a')&&(o=='d')&&(q=='d'))
{
printf("%d\n",j+m);
}
else if((c=='m')&&(o=='u')&&(q=='l'))
{
printf("%d\n",j*m);
}
else if((c=='d')&&(o=='i')&&(q=='v'))
{
if(m==0) printf("error\n");
else if(j/(float)m==j/m) printf("%g\n",j/m);
else printf("%.2f\n",j/(float)m);
}
else if((c=='s')&&(o=='u')&&(q=='b'))
{
printf("%.d\n",j-m);
}
}
}