• <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

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

            POJ 1546 Basically Speaking-數進制轉換

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

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

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

            下面是我的代碼:
            #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 閱讀(1057) 評論(0)  編輯 收藏 引用

            青青热久久国产久精品| 久久中文字幕人妻丝袜| 69SEX久久精品国产麻豆| 99久久人妻无码精品系列| 波多野结衣中文字幕久久| 九九久久精品国产| 无码人妻久久久一区二区三区 | 青青草原综合久久大伊人| 亚洲AV无码久久精品成人| 久久免费精品视频| 色天使久久综合网天天| 久久香蕉一级毛片| 天堂久久天堂AV色综合| 久久国产成人| 久久精品国产福利国产秒| 久久久久se色偷偷亚洲精品av| 国产精品青草久久久久婷婷| 久久久久久免费视频| 2020最新久久久视精品爱 | 久久婷婷色综合一区二区| 精品久久久久久国产| 97精品依人久久久大香线蕉97| 久久96国产精品久久久| 亚洲AV日韩AV永久无码久久| 色综合久久天天综线观看| 热久久这里只有精品| 国产三级久久久精品麻豆三级| 四虎久久影院| 要久久爱在线免费观看| 久久久久国产| 久久久久久国产精品无码下载| 亚洲国产精品婷婷久久| 国产一久久香蕉国产线看观看| 亚洲av成人无码久久精品| 麻豆精品久久久久久久99蜜桃| 日韩人妻无码一区二区三区久久99| 久久久受www免费人成| 久久噜噜久久久精品66| 色欲综合久久躁天天躁| 中文字幕久久亚洲一区| 亚洲狠狠婷婷综合久久蜜芽|