码迷,mamicode.com
首页 > 其他好文 > 详细

HDOJ2031进制转换

时间:2014-10-27 14:25:29      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

项目做久了,我发现自己对代码的实现能力越来越差劲了!经过前一段时间找工作的经历就可以明显感觉的到自己的代码熟练度不够!因此,今后要多加练习。要想做好一个优秀的程序员就要多敲代码,多思考。

bubuko.com,布布扣

★结题思路

利用了栈的思想,将整数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进制转换

标签:

原文地址:http://blog.csdn.net/xgsilence/article/details/40505235

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!