• <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)  編輯 收藏 引用

            无码国产69精品久久久久网站| 人妻精品久久无码区| 久久精品人人槡人妻人人玩AV| 久久精品人成免费| 2021少妇久久久久久久久久| 夜夜亚洲天天久久| 久久综合狠狠综合久久97色| 一级女性全黄久久生活片免费 | 72种姿势欧美久久久久大黄蕉| 久久精品国产99国产电影网 | 久久精品国产黑森林| 无码国内精品久久人妻| 久久99精品国产麻豆宅宅| 久久激情五月丁香伊人| 一本久久知道综合久久| 久久久久人妻一区精品| 色综合久久综合中文综合网 | 久久国产劲爆AV内射—百度| 久久精品国产99国产精品| 综合久久一区二区三区| 久久精品www| 国产欧美一区二区久久| 影音先锋女人AV鲁色资源网久久| 精品国产综合区久久久久久 | 久久亚洲精精品中文字幕| 久久久久亚洲精品无码网址| 2021久久国自产拍精品| 久久综合噜噜激激的五月天| 久久精品国产男包| 无码人妻久久一区二区三区蜜桃| 久久久久久A亚洲欧洲AV冫| 国产精品久久波多野结衣| 久久综合香蕉国产蜜臀AV| 久久精品国产亚洲αv忘忧草| 欧美激情精品久久久久久久| 国内精品久久久久久久涩爱| 曰曰摸天天摸人人看久久久| 久久综合丁香激情久久| 久久国产精品二国产精品| 国产亚洲精久久久久久无码AV| 国产精品一久久香蕉产线看|