• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            The Fourth Dimension Space

            枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

            POJ 1546 Basically Speaking-數(shù)進(jìn)制轉(zhuǎn)換

            原題鏈接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1546

            題目的意思很簡單,給你一個n進(jìn)制的數(shù),讓你把它轉(zhuǎn)換成m進(jìn)制,但是有一個限制,如果輸出的數(shù)字大于7為的話無法在計算器上顯示,所以要輸出ERROR;

            說說做這道題的體會吧,方法很easy,不過感覺代碼寫的長了點(diǎn),第一個函數(shù)里用了map容器,后來發(fā)現(xiàn)其實并沒有減少工作量,所以第二的函數(shù)里就干脆沒使用了 O(∩_∩)O~
            所犯的幾個錯誤是 轉(zhuǎn)換成desbase進(jìn)制是,while循環(huán)里應(yīng)該是num!=0,剛開始的時候?qū)懗闪薾um/desbase!=0;呵呵
            其次是發(fā)現(xiàn)不能在全局狀態(tài)下往容器里面添加元素。害我總是編譯不了,查了半天才知道的。。。

            下面是我的代碼:
            #include <iostream>
            #include
            <cstring>
            #include
            <algorithm>
            #include
            <cmath>
            #include
            <map>
            using namespace std;


            map
            <char,int>amap;
            char temp[100];
            int oribase;
            int desbase;



            int convet(char a[],int oribase)
            {
                
            int len=strlen(a);
                
            int i;
                
            int result=0;
                
            for(i=0;i<len;i++)
                
            {
                    result
            +=amap[a[len-1-i]]*pow((double)oribase,i);
                }

                
            return result;
            }


            void convet2(int num,int desbase)
            {
                
            char test[100];
                
            int i=0;
                
            int testnum;
                
            int len;
                
            while(num!=0)
                
            {
                    testnum
            =num%desbase;
                    num
            =num/desbase;
                    
            if(testnum==15)
                        test[i]
            ='F';
                    
            else    if(testnum==14)
                        test[i]
            ='E';
                    
            else if(testnum==13)
                        test[i]
            ='D';
                    
            else if(testnum==12)
                        test[i]
            ='C';
                    
            else if(testnum==11)
                        test[i]
            ='B';
                    
            else if(testnum==10)
                        test[i]
            ='A';
                    
            else if(testnum==9)
                        test[i]
            ='9';
                    
            else if(testnum==8)
                        test[i]
            ='8';
                    
            else if(testnum==7)
                        test[i]
            ='7';
                    
            else if(testnum==6)
                        test[i]
            ='6';
                    
            else if(testnum==5)
                        test[i]
            ='5';
                    
            else if(testnum==4)
                        test[i]
            ='4';
                    
            else if(testnum==3)
                        test[i]
            ='3';
                    
            else if(testnum==2)
                        test[i]
            ='2';
                    
            else if(testnum==1)
                        test[i]
            ='1';
                    
            else if(testnum==0)
                        test[i]
            ='0';
                    i
            ++;
                }

                test[i]
            ='\0';
                reverse(test,test
            +strlen(test));
                strcpy(temp,test);
            }


            int main ()
            {
                amap[
            '0']=0;amap['1']=1;amap['2']=2;amap['3']=3;
                amap[
            '4']=4;amap['5']=5;amap['6']=6;amap['7']=7;
                amap[
            '8']=8;amap['9']=9;amap['A']=10;amap['B']=11;
                amap[
            'C']=12;amap['D']=13;amap['E']=14;amap['F']=15;
                
            int midresult;
                
            int len;
                
            while(scanf("%s%d%d",temp,&oribase,&desbase)!=EOF)
                
            {
                    
                    midresult
            =convet(temp,oribase);
                    convet2(midresult,desbase);
                    len
            =strlen(temp);
                    
            if(len>7)
                    
            {

                        printf(
            "  ERROR\n");

                    }

                    
            else
                        printf(
            "%7s\n",temp);
                }

                
            return 0;


            }

            posted on 2009-02-19 23:50 abilitytao 閱讀(1060) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            武侠古典久久婷婷狼人伊人| 国产精品久久久久jk制服| 久久久亚洲精品蜜桃臀| 亚洲人成无码网站久久99热国产| 久久久久人妻一区二区三区 | 亚洲国产天堂久久久久久| 亚洲婷婷国产精品电影人久久| 日韩AV毛片精品久久久| 国产成人精品白浆久久69| 色诱久久av| 亚洲成色999久久网站| 亚洲国产另类久久久精品小说 | 久久影院午夜理论片无码| 欧美一区二区三区久久综合 | 亚洲人成无码www久久久| 久久久中文字幕| 色综合久久久久无码专区| 久久国产AVJUST麻豆| 99久久精品国产一区二区三区| 亚洲va中文字幕无码久久不卡| 久久黄色视频| 国产精品久久久久久久午夜片| 九九精品99久久久香蕉| 亚洲国产精品高清久久久| 中文字幕热久久久久久久| 欧美激情一区二区久久久| 婷婷久久综合九色综合绿巨人 | 人妻少妇久久中文字幕 | 国内精品伊人久久久久影院对白 | 久久午夜福利无码1000合集| 色婷婷狠狠久久综合五月| 激情久久久久久久久久| 国产精品无码久久综合网| a级毛片无码兔费真人久久| 欧美激情精品久久久久| 欧美精品一区二区精品久久| 狠狠色丁香久久综合五月| 热re99久久精品国产99热| 99久久精品国产综合一区| 久久精品人妻一区二区三区| 久久无码国产|