• <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 閱讀(1051) 評論(0)  編輯 收藏 引用

            久久久久亚洲av毛片大| 久久人人爽人人爽人人片AV不| 国产精品久久午夜夜伦鲁鲁| 麻豆精品久久精品色综合| 久久成人18免费网站| 伊人久久综合成人网| 精品久久久久久中文字幕| 精品久久久久成人码免费动漫| 久久精品国产91久久综合麻豆自制| 超级碰久久免费公开视频| 一本一本久久A久久综合精品| 久久精品国产免费一区| 综合网日日天干夜夜久久| 国产免费久久久久久无码| 综合人妻久久一区二区精品 | 久久精品女人天堂AV麻| 久久婷婷五月综合国产尤物app| 国产精品成人99久久久久| 久久久久久伊人高潮影院| 久久亚洲欧洲国产综合| 国产精品久久久久AV福利动漫| 久久国产精品无| 久久精品国产亚洲精品| 久久99久久99小草精品免视看| 精品一二三区久久aaa片| 精品99久久aaa一级毛片| 97久久香蕉国产线看观看| 久久偷看各类wc女厕嘘嘘| 亚洲国产精品无码久久一区二区| 综合久久给合久久狠狠狠97色| 精品国产乱码久久久久久浪潮 | 精品无码久久久久久国产| 久久国产精品久久国产精品| 久久人人爽人人爽人人片av高请| 国产A级毛片久久久精品毛片| 亚洲国产小视频精品久久久三级| 青青青青久久精品国产h久久精品五福影院1421 | 久久精品国产第一区二区| 伊人久久精品线影院| 青青草原综合久久大伊人精品| 色噜噜狠狠先锋影音久久|