【发布时间】:2014-04-08 05:28:47
【问题描述】:
我在recruitcoders.com 上找到了4 个任务,并且 我都完成了,但在第一个中我只得分了 1/10:
编写一个程序,作为一个简单的计算器,支持五种运算:加法、减法、乘法、除法和取模。
输入: 有未知数量的测试。每个测试由一个字符符号组成,该符号对应于特定操作(+加法,-减法,*乘法,/除法和%模数)和两个以下整数。每个测试将由空格分隔并后跟换行符。测试次数不超过 100,结果小于 2^31。您可以假设没有需要除以 0 的情况。
输出: 对于每个测试,您应该打印一个数字作为每个操作的结果。
示例:
Input:
+ 7 9
- 0 4
* 5 6
/ 8 3
% 5 2
Output:
16
-4
30
2
1
我的代码:
#include <iostream>
using namespace std;
int fcount(char, int, int);
int main() {
char znak;
long a, b;
long* wynik=new long[100];
for(char i=0;i<100;i++){
cin>>znak>>a>>b;
wynik[i]=fcount(znak,a,b);
}
for(char i=0;i<100;i++)
cout<<wynik[i]<<endl;
return 0;
}
int fcount(char znak, int a, int b){
switch(znak){
case '+':
return a+b;
case '-':
return a-b;
case '*':
return a*b;
case '/':
return a/b;
case '%':
return a%b;
}
}
此代码运行良好,只是被 RECRUITCODERS 低估了 (1/10)
我不是要你提供更好的代码,我只是想知道我在这么简单的任务中失去了这么多积分是在哪里?有什么建议?我已经完成了所有 4 个任务,总共得分 28/40(1/10、10/10、10/10、7/10),所以得分为 1/10 的任务对我来说是一个痛苦的**:/
【问题讨论】:
-
不清楚你在问什么。你到底在问我们什么?为什么有人给你1/10的分数?你应该问他们。
-
创建更多测试用例,尤其是边缘用例,看看你的代码哪里不正确。
-
我的意思是有 4 个问题要解决,而我在上面的计算器中只得了 1/10。所以我认为这是错误的。我在问你,为什么它是错误的。编辑:代码正在运行,问题是低评级(1/10)。我想知道,我应该怎么做才能使它更专业?
-
@sashoalm 我很想问他们为什么只有 1/10 但它是在线招聘机器人,只是编译代码并返回分数。
-
所以你问我们。嗯,答案是“我们应该怎么知道?”我们不是他们。你甚至有失败的测试吗?