题目:​​http://acm.hdu.edu.cn/showproblem.php?pid=2031​

除R取余数就可以,,,,

#include <iostream>
using namespace std;
int main()
{
char c;
int n,r,a,b[100],i,j;
while(cin>>n>>r)
{
i=0;
if(n>0)
a=n;
else
a=-n;
while(a)
{
b[i]=a%r;
a=a/r;
i++;
}
if(n<0)
cout<<"-";
for(j=i-1;j>=0;j--)
{
if(b[j]>=0&&b[j]<=9)
c='0'+b[j];
else
c=b[j]-10+'A';
cout<<c;
}
cout<<endl;
}
return 0;
}
上面这个很轻松的过了,下面这个好多次都没有过
求解为什么呢?
人品问题吗..............
******************************
#include <stdio.h>
#include <string.h>
char a[15]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E'};
int main()
{
int n,r,temp,i,j;
char num[1000];
while(scanf("%d%d",&n,&r)!=EOF)
{
i=0;
if(n<0)
printf("-"),n=-n;
memset(num,0,sizeof(num));
while(n)
{
temp=n%r;
num[i++]=a[temp];
n/=r;
}
for(j=i-1;j>=0;j--)
printf("%c",num[j]);
puts("");
}
return 0;
}