杭电ACM2031 哪里错误了 http://acm.hdu.edu.cn/showproblem.php?pid=2...
发布网友
发布时间:2024-10-03 10:06
我来回答
共1个回答
热心网友
时间:2024-10-03 11:32
Input: 15 16
Correct Output: F
Your Output: ?
#include<stdio.h>
#include<string.h>
int main()
{
long int n;
int m,i,s,k;
char a[100],b[]={'A','B','C','D','E','F'};
while(scanf("%ld%d",&n,&m)!=EOF)
{
i=k=0;
if(n<0)
{
n=-n;
k=1;
}
while(n/m!=0)
{
if(n%m>=10)
a[i++]=b[n%m-10];
else
a[i++]=n%m+'0';
n=n/m;
}
if(n<10) a[i]=(n%m)+'0'; // 最后一位如果小于10, 则按数字处理
else a[i] = b[n%m-10]; // 如果最后以为大于等于10, 按字符处理
a[++i]='\0';
if(k==1)
printf("-");
s=strlen(a);
while(s--)
{
printf("%c",a[s]);
}
printf("\n");
}
}