首页 > 代码库 > HDOJ2031进制转换
HDOJ2031进制转换
项目做久了,我发现自己对代码的实现能力越来越差劲了!经过前一段时间找工作的经历就可以明显感觉的到自己的代码熟练度不够!因此,今后要多加练习。要想做好一个优秀的程序员就要多敲代码,多思考。
★结题思路
利用了栈的思想,将整数N与R求得的余数压栈,然后将N/R与R求得的余数压栈,知道N/R小于R为止。可以利用数组来模拟栈的操作,可以将余数存入数组中然后倒序输出!
★代码实现
#include <stdio.h> int main() { int a,b,c,n,r,i,flag,len; char s[100]; while(scanf("%d %d",&n,&r)!=EOF) { if(n >= 0) { b = n; i = 0; while(b > r) { a = b; s[i++] = a%r; b /= r; } s[i] = b; flag = i; } else { b = -n; i = 0; while(b > r) { a = b; s[i++] = a%r; b /= r; } s[i++] =b; s[i] = '-'; flag = i; } for(i = flag;i >=0;i --) { if(s[i]=='-') { printf("%c",s[i]); continue; } if(s[i]==10) printf("A"); else if(s[i]==11) printf("B"); else if(s[i]==12) printf("C"); else if(s[i]==13) printf("D"); else if(s[i]==14) printf("E"); else if(s[i]==15) printf("F"); else printf("%d",s[i]); } printf("\n"); } return 0; }
HDOJ2031进制转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。