华为上机题

解析9进制,11进制的字符串为10进制的数字输出,输入的字符串有效位(0v0012345678)长度不超过8位,前面的00不算做有效位。解析后以10进制的数字输出。
如果解析到非法字符串则返回-1

9进制:
 9进制的数的范围:0,1,2,3,4,5,6,7,8
 9进制的开始为:0V或者0v
 9进制的正确实例:0V11 0v564 0V123 0v0784 0V0 0v 0V
 9进制的错误实例:0V923 0vt12 00V21 0123 
 9进制转换为10进制:0V11 -> 10
        0v564 -> 463
 
11进制:
 11进制的数的范围:0,1,2,3,4,5,6,7,8,9,A(a)
 11进制的开始为:0W或者0w
 11进制的正确实例:0W11 0w564 0W123 0w0A8a 0W 0w
 11进制的错误实例:0WB923 0wVaA 00W21 0WAx123 
 11进制转换为10进制:
        0W11 -> 12
        0w564 -> 675

#include <math.h>

#include<iostream>
#include <string>
using namespace std;
void main()
{

    string str;
    cin>>str;
    int len=str.length();

    char *ch=new char[len];
    for (int i=0;i<len;i++)
    {
        ch[i]=str[i];
    }
    int iRet=0;
    if (ch[0]==‘0‘&&(ch[1]==‘v‘||ch[1]==‘V‘))
    {
        for (int i=len-1;i>1;i--)
        {
            if (ch[i]>‘8‘||ch[i]<‘0‘)
            {
                cout<<-1;
                return;
            }
            iRet+=(ch[i]-‘0‘)*((int)pow(9.0,len-1-i));
        }
    }
    else if (ch[0]==‘0‘&&(ch[1]==‘w‘||ch[1]==‘W‘))
    {
        for (int i=len-1;i>1;i--)
        {
            if (ch[i]!=‘a‘&&ch[i]!=‘A‘&&(ch[i]>‘9‘||ch[i]<‘0‘))
            {
                cout<<-1;
                return;
            }
            if (ch[i]==‘a‘||ch[i]==‘A‘)
            {
                ch[i]=‘0‘+10;
            }
            iRet+=(ch[i]-‘0‘)*((int)pow(11.0,len-1-i));
        }
    }
    else
         {
             cout<<-1;
              return;
         }
    cout<<iRet;

}

华为上机题

时间: 2024-11-10 16:05:57

华为上机题的相关文章

华为上机题汇总(六)

华为上机题汇总(六) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总六 目录 第二十六题 第二十七题 第二十八题 第二十九题 第三十题 第二十六题 26.一副牌中发五张扑克牌给你:让你判断数字的组成: 有以下几种情况: 1:四条:即四张一样数值的牌(牌均不论花色)2:三条带 一对 3:三条带两张不相同数值的牌 4:两对 5:顺子 包括 10,J,Q,K,A 6:什么都不是 7:只有一对 #include <iostream> #include <

华为上机题汇总(二)

华为上机题汇总(二) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总二 目录 第六题 第七题 第八题 第九题 第十题 第六题 6.比较一个数组的元素 是否为回文数组(如abcdcba,hjjh) #include <iostream> #include <vector> #include <string> using namespace std; bool isPalindrome(const string &str){

华为上机题汇总(二十一)

华为上机题汇总(二十) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总二十 目录 第一百零一题 第一百零二题 第一百零三题 第一百零四题 第一百零五题 第一百零一题 101.合唱队问题 问题描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2-,K,他们的身高分别为T1,T2,-,TK, 则他们的身高满足T1<-Ti+1>->TK(1<

华为上机题汇总(十四)

华为上机题汇总(十四) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总十四 目录 第六十六题 第六十七题 第六十八题 第六十九题 第七十题 第六十六题 66.问题描述 股票是一种有价证券,是股份公司为筹集资金发给投资者作为公司资本部分所有权的凭证,成为股东以此获得股息(股利),并分享公司成长或交易市场波动带来的利润:但也要共同承担公司运作错误所带来的风险.南邮华为俱乐部会长小郑同学最近计划进入股市淘金,看中一支股票,借本次华为赛机会,请你帮忙指出:何时买

华为上机题汇总(十三)

华为上机题汇总(十三) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总十三 目录 第六十一题 第六十二题 第六十三题 第六十四题 第六十五题 第六十一题 61.给一个数组,输出数组里超出所有元素平均值的元素的个数.比如:1.2.3.4.5,输出3. #include <iostream> using namespace std; int overAvg(int a[],int n){ int sum = 0, count = 0; for (int i

华为上机题汇总(十)

华为上机题汇总(十) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总十 目录 第四十六题 第四十七题 第四十八题 第四十九题 第五十题 第四十六题 46.在给定字符串中找出单词( "单词"由大写字母和小写字母字符构成,其他非字母字符视为单词的间隔,如空格.问号.数字等等:另外单个字母不算单词):找到单词后,按照长度进行降序排序,(排序时如果长度相同,则按出现的顺序进行排列),然后输出到一个新的字符串中:如果某个单词重复出现多次,则只输出一次:如

华为上机题汇总(四)

华为上机题汇总(四) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总四 目录 第十六题 第十七题 第十八题 第十九题 第二十题 第十六题 16.将一个字符串的元音字母复制到另一个字符串,并排序(30分) 问题描述: 有一字符串,里面可能包含英文字母(大写.小写).数字.特殊字符,现在需要实现一函数,将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序(小写的元音字母在前,大写的元音字母在后,依次有序). 说明: 1.

华为上机题汇总(二十)

华为上机题汇总(二十) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总二十 目录 第九十六题 第九十七题 第九十八题 第九十九题 第一百题 第九十六题 96 . 给分数的循环节加括号 两个整数相除,将结果用字符串返回.如果是循环小数,将循环的位用括号括起来. 输入:1 3 输出:0.(3) 输入 1 7 输出 0.(142857) #include <iostream> #include <string> using namespace s

华为上机题汇总(十二)

华为上机题汇总(十二) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总十二 目录 第五十六题 第五十七题 第五十八题 第五十九题 第六十题 第五十六题 56.在中国,形容夫妻恩爱的词汇中,大家用的比较多的就是"夫妻相".所谓"夫妻相",就是两个人看上去比较般配,长相.身材等某些方面有一定的相似度.本题则另辟蹊径,从人的姓名维度,以字母重复个数来寻找最具"夫妻相"的人. 题目中预先给定一组女士的姓名拼音.输

华为上机题汇总(八)

华为上机题汇总(八) 注:编译环境为Visual Studio 2012,答案仅供参考. 目录 华为上机题汇总八 目录 第三十六题 第三十七题 第三十八题 第三十九题 第四十题 第三十六题 36.输入一行数字:123 423 5645 875 186523 在输入第二行:23 将第一行中含有第二行中"23"的数输出并排序 结果即:123 423 186523 #include <iostream> #include <vector> #include <s