字串筆試題

2021-07-23 13:36:38 字數 1045 閱讀 1878

1、輸入乙個整數的字串,把該字串轉換成整數並輸出。例如輸入字串「345」,則輸出整數345

思路:依次掃瞄字串,每掃到乙個字元,把之前的得到的數字乘以10再加上當前字元表示的數字。

注意:還可能包括『+』或『-』,表示整數的正負。需要特殊處理

考慮非法輸入:

1)判斷指標是否為空

2)輸入的字串可能不是數字的字元,碰到則停止

3)溢位問題,若溢位,返回0

enum status;

int g_nstatus=kvalid;

int strtoint(const char* str)

while(*digit!='\0')

digit++;

}else //非數字字元處理

}if(*digit=='\0')

}return num;

}

2、在乙個字串中找到第乙個只出現一次的字元

ascii字元是乙個長度為8的資料型別總共可能是256種可能

void firstnotrepeatingchar(const char* pstring)

char *c=(char*)malloc((ca+cb)*sizeof(char));

i=0;

while(s[i]==0)i++;//跳過頭部0

}

7、刪除模式串中出現的字元,如「welcome to asted」,模式串為「aeiou」,那麼得到的字串為「wlcm t std」,要求效能最優,字串全部為小寫字母

思路:依次遍歷,如是則刪除

void fun(char *s)

s[i]='\0';

}

陣列字串,企業筆試題

1.輸入整數,輸出字串 include include include define max size 10 int main printf number is d n num return 0 1.輸入字串 輸出其中數字的個數 include include define max size 100...

有關字串的筆試題

小總結 1.轉換字串格式為原來字串裡的字元 該字元連續出現的個數 1233422222轉換為1121324125 思路 兩個vector來存放,乙個存放字元,乙個存放次數 void printchte string str mytime.push back time mychar.push back...

筆試題集合 字串問題

1.實現字串移位操作,要求時間複雜度為o n 空間複雜度為o 1 思路 由於空間複雜度為o 1 可以知道移位操作只在原字串上面完成。假設c1 c2 c3 c4 ci 1,ci,ci 1 cn字串,low 1,high n,shift i,需要移位的字串長度為high low 1 向左移位i位時,有三...