秋招在线笔试总结--830

来源:互联网 发布:linux shell wait命令 编辑:程序博客网 时间:2024/06/05 23:55

秋招在线笔试总结–830

26进制与十进制之间的转换

// 26进制转10进制,10进制转26进制    function convertNum26(line){        var convertNum = function (str) {              var n = 0;              var s = str.match(/./g);//求出字符数组              var j = 0;              for (var i = str.length - 1, j = 1; i >= 0; i--, j *= 26) {                  var c = s[i].toUpperCase();                  if (c < 'A' || c > 'Z') {                      return 0;                  }                  n += (c.charCodeAt(0) - 64) * j;              }              return n;          };        var convert26 = function(num){              var str="";              while (num > 0){                  var m = num % 26;                  if (m == 0){                      m = 26;                  }                  str = String.fromCharCode(m + 64) + str;                  num = (num - m) / 26;              }              return str.toLowerCase();          };        // console.log(typeOf(line) == string);        if(isNaN(line)){            return convertNum(line);        }else if(!isNaN(line)){            return convert26(line);        }else{            console.log('ERROR');        }    }    console.log(convertNum26("102983"));

英文数字与拼音数字的相互转换

function mainWord(line){        var parsePinyin2Word = function (inWord){            var initArr = inWord.split(/(?=[A-Z])/);            var afterArr = [];            var pingyin = new Array('Yi','Er','San','Si','Wu','Liu','Qi','Ba','Jiu','Ling');            for(var i=0; i<initArr.length;i++){                 switch(initArr[i]){                    case pingyin[0]:                        afterArr.push("One");                        break;                    case pingyin[1]:                        afterArr.push("Two");                        break;                    case pingyin[2]:                        afterArr.push("Three");                        break;                    case pingyin[3]:                        afterArr.push("Four");                        break;                    case pingyin[4]:                        afterArr.push("Five");                        break;                    case pingyin[5]:                        afterArr.push("Six");                        break;                    case pingyin[6]:                        afterArr.push("Seven");                        break;                    case pingyin[7]:                        afterArr.push("Eight");                        break;                    case pingyin[8]:                        afterArr.push("Nine");                        break;                    case pingyin[9]:                        afterArr.push("Zero");                        break;                    case 'Double':                        // console.log(initArr[i+1]);                        afterArr.push(parsePinyin2Word(initArr[i+1]));                        break;                    default:                        console.log('ERROR');                        break;                 }            }            return afterArr.join('');        };        var parseWord2Pinyin =function(inWord){            var initArr = inWord.split(/(?=[A-Z])/);            var afterArr = [];            var pingyin = new Array('One','Two','Three','Four','Five','Six','Seven','Eight','Nine','Zero');            for(var i=0; i<initArr.length;i++){                 switch(initArr[i]){                    case pingyin[0]:                        afterArr.push("Yi");                        break;                    case pingyin[1]:                        afterArr.push("Er");                        break;                    case pingyin[2]:                        afterArr.push("San");                        break;                    case pingyin[3]:                        afterArr.push("Si");                        break;                    case pingyin[4]:                        afterArr.push("Wu");                        break;                    case pingyin[5]:                        afterArr.push("Liu");                        break;                    case pingyin[6]:                        afterArr.push("Qi");                        break;                    case pingyin[7]:                        afterArr.push("Ba");                        break;                    case pingyin[8]:                        afterArr.push("Jiu");                        break;                    case pingyin[9]:                        afterArr.push("Ling");                        break;                    case 'Double':                         // console.log(initArr[i+1]);                         // console.log(parseWord2Pinyin(initArr[i+1]));                         afterArr.push(parseWord2Pinyin(initArr[i+1]));                         break;                    default:                        console.log('ERROR');                        break;                 }            }            return afterArr.join('');        };        if(line.constructor!=String){            console.log('ERROR');            return;        }        var initArr1 = line.split(/(?=[A-Z])/);        var pinyin = "YiErSanSiWuLiuQiBaJiuLing";        var words = "OneTwoThreeFourFiveSixSevenEightNineZero";        if(line.indexOf('Double') > -1){            if(initArr1[0] == 'Double' && words.indexOf(initArr1[1]) > -1){                initArr1[0] = initArr1[1];               }else{                console.log('ERROR');                return;            }            if(pinyin.indexOf(initArr1[0]) > -1){                return parsePinyin2Word(line);            }else if(words.indexOf(initArr1[0]) > -1){                return parseWord2Pinyin(line);              }else{                console.log('ERROR');                return;            }        }else{            if(pinyin.indexOf(initArr1[0]) > -1){                return parsePinyin2Word(line);            }else if(words.indexOf(initArr1[0]) > -1){                return parseWord2Pinyin(line);              }else{                console.log('ERROR');                return;            }        }    }   console.log(mainWord("OneDoubleThreeOneTwo"));   console.log(mainWord("DoubleThreeOneTwo"));   console.log(mainWord("DoubleSanYiEr"));

不会做的题:
1.给定代码片段A:

int add(int x, int y) {    int sum = 0;    sum = x+y;    return sum;}

2.编写程序,接受一段代码片段文本输入(字符类型仅限于代码片段A中出现过的字符类型,如字母/数字/空格/TAB/小括号/花括号/分号/回车),判断此代码片段与代码片段A在功能/结构上是否一致,函数/变量名可以不同,格式(即换行/缩进/不影响功能的位置变化)可以不同。一致,返回1,不一致返回0.
输入描述:
一段代码片段,字符少于255,字符类型仅限于代码片段A中出现过的字符类型
输出描述:
1或者0

原创粉丝点击