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

            久久天天躁狠狠躁夜夜躁2014| 久久精品国产亚洲综合色| 无码人妻少妇久久中文字幕 | 女人高潮久久久叫人喷水| 无码任你躁久久久久久老妇App| 性高湖久久久久久久久| 91精品国产91久久久久久青草 | 久久福利资源国产精品999| 五月丁香综合激情六月久久| 99久久国产免费福利| 99久久国产精品免费一区二区| 久久精品国产久精国产| 人妻无码精品久久亚瑟影视 | 国产成人精品久久亚洲高清不卡 | 久久精品无码专区免费| 欧美午夜精品久久久久免费视| 国产成人久久精品二区三区| 久久婷婷五月综合国产尤物app| 国内精品久久久久久不卡影院| 99久久人妻无码精品系列蜜桃| 久久久久久久久久久久久久| 久久99亚洲综合精品首页| 久久av无码专区亚洲av桃花岛| 亚洲&#228;v永久无码精品天堂久久 | 久久综合给合久久狠狠狠97色| 久久综合伊人77777| 一级做a爱片久久毛片| 国产亚洲色婷婷久久99精品| 久久精品国产欧美日韩99热| 国产精品VIDEOSSEX久久发布| 国产精品久久久久久久久免费| 亚洲国产另类久久久精品小说| 无码八A片人妻少妇久久| 久久久这里有精品中文字幕| 久久er国产精品免费观看8| 91久久香蕉国产熟女线看| 国产一区二区精品久久| 91精品久久久久久无码| 99久久国产亚洲高清观看2024 | 狠狠色丁香久久综合婷婷| 亚洲日韩欧美一区久久久久我|