杭电ACM2031 哪里错误了 http://acm.hdu.edu.cn/showproblem.php?pid=2031

#include<stdio.h>#include<string.h>voidmain(){longintn;intm,i,s,k;chara[100],b[]={'A'... #include<stdio.h>
#include<string.h>
void 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;
}
a[i]=(n%m)+'0';
a[++i]='\0';
if(k==1)
printf("-");
s=strlen(a);
while(s--)
{
printf("%c",a[s]);
}
printf("\n");
}
}
展开
 我来答
porker2008
2011-04-30 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部
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");
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式