为什么全错了?大神帮我看看!!!

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char stack[100];
char num[50]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J'};
int main()
{
freopen("in.cpp","r",stdin);
freopen("test.out","w",stdout);
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
memset(stack,0,sizeof(stack));
int cnt=1;
printf("%d=",a);
for(;a!=0;){
for(int i=0;i<-b;i++){
if((a-i)%(-b)==0){
stack[cnt++]=num[i];
a-=i;
break;
}
}
a/=b;
}
for(--cnt;cnt>0;cnt--)printf("%c",stack[cnt]);
printf("(base %d)\n",b);
}
}

2 条评论

  • 1

信息

ID
1465
难度
6
分类
其他 | 数学 点击显示
标签
递交数
1229
已通过
330
通过率
27%
被复制
11
上传者