C语言,ACM,题目是输入A+B;AB是16进制,输出A+B=C;AB是二进制,c是十进制,看我的代码试了很多测试用0
我是HWH1232017.02.28浏览31次分享举报
试了很多测试用例都没有问题,可是通不过审判系统,我得代码哪里错了? #include #include long long change(int num); int main() { int n; char cul; while(scanf("%d",&n)!=EOF) { while(n--) ... 试了很多测试用例都没有问题,可是通不过审判系统,我得代码哪里错了?
#include
#include
long long change(int num);
int main()
{
int n;
char cul;
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
long long input[5];
scanf("%I64X %c %I64X",&input[0],&cul,&input[1]);
if(cul=='+')input[2]=input[0]+input[1];
else input[2]=input[0]-input[1];
input[0]=change(input[0]);
input[1]=change(input[1]);
printf("%013I64d %c %013I64d = %I64d\n",input[0],cul,input[1],input[2]);
}
}
return 0;
}
long long change(int num)
{
long long temp=0;
long long i=1;
while(num!=0)
{
temp=temp+(num%2)*i;
num/=2;
i*=10;
}
return temp;
} 展开