1. 程式人生 > >幾道有關字串處理的程式設計題(華碩,盛大招聘筆試題)

幾道有關字串處理的程式設計題(華碩,盛大招聘筆試題)

華碩2011校園招聘:

將一字串中的字元變為其前一個字元:如:[email protected]>[email protected]

#include<iostream>
#include<assert.h>
using namespace std;
void conventstr(char* src,char* dest)
{
    assert(src!=NULL);
    int length=strlen(src)+1;/*注意,取值先在開頭進行處理,並且做好原資料的備份,以防以後用到但原值已經改變*/
    char* temp=src;
    while(*src!='\0')


    {
        if(*src>'a' && *src<='z'|| *src>'A' && *src<='Z')
        {
            *src=*src-1;
        }
        if(*src=='a')
        {
            *src='z';
        }
        if(*src=='A')
        {
            *src='Z';
        }
       *dest++=*src++;/*方法1:類似mystrcpy函式的實現,但注意最後添0操作*/

    }

}

盛大遊戲2011校園招聘:

 簡答題:快速排序的思想是遞迴的,但是它的平均效率卻是眾多排序演算法中最快的,為什麼?請結合本例說明你對遞迴程式的理解。
演算法題:用你熟悉的程式語言,設計如下功能的函式:輸入一個字串,輸出該字串中所有字母的全排列。程式請適當添加註釋。
C++函式原型: void Print(const  char *str)
輸入樣例: abc

輸出結果: abc、acb、bca、bac、cab、cba

侷限:::程式無法實現4或者更多位的字串全排列,

#include <iostream>
using namespace std;
void Print(char* str)
{
    static char a=1;//保留原str首字元,作為遞迴結束判斷標準;
    static int flag=1;
    if(flag==1)
    {
        a=*str;
        flag++;
    }

    cout<<str<<endl;
    char* temp=str;
    char p;
    int length=strlen(str);
    int begin=1;
    while(begin<length)//start swap
    {
         p=temp[begin];
        temp[begin]=temp[length-1];
        temp[length-1]=p;
        begin++;
        length--;
    }
    cout<<temp<<endl;
    p=temp[0];//調整字串首位字元;
    temp[0]=temp[1];
    temp[1]=p;

    if(temp[0]==a)//判斷是否要繼續遞迴;
    {
         return ;
    }
    else
    {
      Print(temp);
    }
}

int main()
{
    char a[]="zxt";
    Print(a);
    return 1;
}

另龍旗,C經典筆試題中各有關字串處理將逐一整理  fmoonstar更新至11.7

相關推薦

有關字串處理程式設計盛大招聘試題

華碩2011校園招聘: 將一字串中的字元變為其前一個字元:如:[email protected]>[email protected] #include<iostream

簡單的基礎程式設計

列印1到100之內的整數,但數字中包含7的要跳過, 每行輸出7個滿足條件的數,之間用空格分隔,列印格式如下: 1 2 3 4 5 6 8 列印滿足條件的資料的個數 public class Demo { public static void main(String[] args) {

C語言中有關字串程式設計

(1)字串拷貝strcpy 特點:只能拷貝字串,遇到\0停止拷貝 char* MyStrcpy(char* dst,const char* src) { assert(dst != NU

HDU 1208 跳格子很經典可以有很多變形

tar where no space osi bit cpp ogre 理解 accep 題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=1208 Pascal‘s Travels Time Limit: 2000/1000

經典改錯2013年巨人網路 Java 試題改編

功能 輸出int範圍內最小值到最大值的所有數是否是奇數,程式碼如下。 public class Main { public static void main(String[] args) { for (int i = Integer.MIN_VALUE; i <

字串程式設計HashMap實現

題目描述 牛牛有一個由小寫字母組成的字串s,在s中可能有一些字母重複出現。比如在"banana"中,字母'a'和字母'n'分別出現了三次和兩次。 但是牛牛不喜歡重複。對於同一個字母,他只想保留第一次出現並刪除掉後面出現的字母。請幫助牛牛完成對s的操作。 輸入描述: 輸入包括一個字串s,s

C++面向物件程式設計50程式設計第05

C++面向物件程式設計50道程式設計題(第05題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第13

C++面向物件程式設計50道程式設計題(第13題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第12

C++面向物件程式設計50道程式設計題(第12題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第11

C++面向物件程式設計50道程式設計題(第11題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

# C++面向物件程式設計50程式設計第10

C++面向物件程式設計50道程式設計題(第10題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第09

C++面向物件程式設計50道程式設計題(第09題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第08

C++面向物件程式設計50道程式設計題(第08題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第07

C++面向物件程式設計50道程式設計題(第07題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第06

C++面向物件程式設計50道程式設計題(第06題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第04

C++面向物件程式設計50道程式設計題(第04題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第03

C++面向物件程式設計50道程式設計題(第03題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第02

C++面向物件程式設計50道程式設計題(第02題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第01

C++面向物件程式設計50道程式設計題(第01題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體

C++面向物件程式設計50程式設計第16

C++面向物件程式設計50道程式設計題(第16題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。   本專輯為程式設計入門者、高校計算機軟體