zoukankan      html  css  js  c++  java
  • 华为2013校园招聘上机笔试题

    转自:http://blog.csdn.net/lanyan822/article/details/7983832

    时间:2012-09-15   地点:电子科大

    上机时间两小时,3道题

    1 字串转换
    问题描述:
    将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。
    要求实现函数:
    void convert(char *input,char* output)
    【输入】  char *input , 输入的字符串
    【输出】  char *output ,输出的字符串
    【返回】 无
    示例
    输入:char*input="abcd" 
    输出:char*output="bcde"
    输入:char*input="abbbcd" 
    输出:char*output="bcdcde"

    1. void convert(char *input,char *output)  
    2. {  
    3.     char c='\0';  
    4.     int tag=0;  
    5.     int len=strlen(input);  
    6.     for(int i=0;i<len;i++)  
    7.     {  
    8.         if(input[i]!=c)//当前字符与前一个字符不相等,则该字符+1  
    9.         {  
    10.             output[i]=(input[i]-'a'+1)%26+'a';  
    11.             c=input[i];  
    12.             tag=1;  
    13.         }else  
    14.         {  
    15.             if(tag==1)//当前字符与前一个字符相等,且前面只有一个字符相同  
    16.             {  
    17.                 output[i]=(input[i]-'a'+2)%26+'a';  
    18.                 c='\0';  
    19.                 tag=0;  
    20.             }else//当前字符与前一个字符相等,且前面已有2n个字符相同。则按第一次出现算  
    21.             {  
    22.                 output[i]=(input[i]-'a'+1)%26+'a';  
    23.                 c=output[i];  
    24.                 tag=1;  
    25.             }  
    26.         }  
    27.     }  
    28. }   



    2 字符串处理转换
    问题描述:    
    在给定字符串中找出单词( “单词”由大写字母和小写字母字符构成,其他非字母字符视为单词的间隔,如空格、问号、数字等等;另外单个字母不算单词);找到单词后,按照长度进行降序排序,(排序时如果长度相同,则按出现的顺序进行排列),然后输出到一个新的字符串中;如果某个单词重复出现多次,则只输出一次;如果整个输入的字符串中没有找到单词,请输出空串。输出的单词之间使用一个“空格”隔开,最后一个单词后不加空格。
    要求实现函数:
    void my_word(charinput[], char output[])
    【输入】  char input[], 输入的字符串
    【输出】  char output[],输出的字符串
    【返回】 无
    示例
    输入:charinput[]="some local buses, some1234123drivers" ,
    输出:charoutput[]="drivers local buses some"
    输入:charinput[]="%A^123 t 3453i*()" ,
    输出:charoutput[]=""


    3 正数减法
    问题描述:    
    两个任意长度的正数相减,这两个正数可以带小数点,也可以是整数,请输出结果。 输入的字符串中,不会出现除了数字与小数点以外的其它字符,不会出现多个小数点以及小数点在第一个字符的位置等非法情况,所以考生的程序中无须考虑输入的数值字符串非法的情况。 
    详细要求以及约束:
    1.输入均为正数,但输出可能为负数; 
    2.输入输出均为字符串形式;
    3.如果输出是正数则不需要带符号,如果为负数,则输出的结果字符串需要带负号
    例如:2.2-1.1 直接输出为“1.1”,1.1-2.2 则需要输出为“-1.1”
     4.输出的结果字符串需要过滤掉整数位前以及小数位后无效的0,小数位为全0的,直接输出整数位
    例如相减结果为11.345,此数值前后均不可以带0,“011.345”或者“0011.34500”等等前后带无效0的均视为错误 输出。例如1.1-1.1结果为0.0,则直接输出0。
    要求实现函数:
    void Decrease(char *input1, char*input2, char *output)
    【输入】 char *iinput1 被减数
    char*nput2 减数 
    【输出】 char *output 减法结果
    【返回】 无
    示例
    输入:char *input1="2.2" 
    char *input2="1.1"
    输出:char*output="1.1"
    输入:char *input1="1.1" 
    char *input2="2.2"
    输出:char *output="-1.1"

    每一场题目都不一样,群里面还有人提到有表达式求值,如“3*2+1”,结果为7
  • 相关阅读:
    www.insidesql.org
    kevinekline----------------- SQLSERVER MVP
    Sys.dm_os_wait_stats Sys.dm_performance_counters
    如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 中的内存使用情况
    VITAM POST MORTEM – ANALYZING DEADLOCKED SCHEDULERS MINI DUMP FROM SQL SERVER
    Cargo, Rust’s Package Manager
    建筑识图入门(初学者 入门)
    Tracing SQL Queries in Real Time for MySQL Databases using WinDbg and Basic Assembler Knowledge
    Microsoft SQL Server R Services
    The Rambling DBA: Jonathan Kehayias
  • 原文地址:https://www.cnblogs.com/youngforever/p/3104659.html
Copyright © 2011-2022 走看看