进制变换……wrong answer! 不晓得哪里错了。走过路过的大神来帮我看下吧。

__103__ 2013-04-26 11:34:32
题目是这样的:
Description
输入一个十进制数,用程序将其变换成2进制数和8进制数。
Input
每一组数据只有一行,即需要被变换的十进制整数。(输入有多组测试数据)
Output
对应每一组数据,输出对应的2进制和8进制,第一行输出2进制,第二行输出8进制数
我的代码是这样的:
#include<stdio.h>
int change(int x,int y)
{
int i,r,j=0,c[300];
for(i=0;x>0;i++)
{
r=x%y;
x=x/y;
c[j++]=r;
}
for(;j>0;)
printf("%d",c[--j]);
printf("\n");
return 0;
}
int main ()
{
int a;
while(scanf("%d",&a)!=EOF)
{
change(a,2);
change(a,8);
}
return 0;
}

...全文
135 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
折翼断JJ 2013-04-28
  • 打赏
  • 举报
回复
for(i=0;x>0;i++) 条件为x>0所以x=0,无法显示。 用if 进行判断。
廖WJ 2013-04-27
  • 打赏
  • 举报
回复
输入0时就错了。

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧