華為機試 2013

2021-06-29 07:44:59 字數 2520 閱讀 9954

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 ,輸出的字串

【返回】 無

乙個用來判斷 是否與上乙個相同,乙個用來判斷是否多於2個 

/*14. 字串轉換

問題描述:

將輸入的字串(字串僅包含小寫字母'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 ,輸出的字串

【返回】 無

乙個用來判斷 是否與上乙個相同,乙個用來判斷是否多於2個

*/#include#include#includeusing namespace std;

#define n 100

void convert(char *input,char* output)

if(f==1)

}//排序

for(i=0;i

/*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"

*/#include#include#include#include#include#includeusing namespace std;

#define n 100

void decrease(char *input1, char*input2, char *output)

//2for(i=0;input2[i]!='.'&&input2[i]!='\0';i++)

++n2;

if(input2[i]=='\0')

m2=0;

else

int m3=(m1>m2?m1:m2),n3=(n1>n2?n1:n2);

int len=n3+m3;

char *s1=new char[len];

char *s2=new char[len];

char *s3=new char[len+1];

//小數點前 補0

for(i=0;is2[i])

break;

else if(s1[i]=0;i--)

else

}

//去除前面0

int start=0;

for(i=0;in3-1;i--)

//複製小數點後

int a1=i;

if(start==0)

else

{ output[d++]='.';

for(i=n3;i

華為機試整理

include stdafx.h includeusing namespace std int main int argc,tchar argv cout 2.大數相加 用stl的string比較方便,如下,自己測了幾組資料沒有什麼問題。include stdafx.h include includ...

華為機試3

明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數 n 1000 對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成 去重 與 排序...

華為 2013校招機試的題目 string的題目

通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。比如字串 abacacde 過濾結果為 abcde 要求實現函式 void stringfilter const char pinputstr,long linputlen,c...