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位時,有三...