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...