Yêu cầu:
- Viết hàm tìm vị trí kí tự xuất hiện đầu tiên trong chuỗi. Nếu không tìm thấy trả về -1.
Thuật toán:
– Dùng vòng lặp duyệt chuỗi và so sanh kí tự của chuỗi và kí tự nhập vào
– Nếu bằng nhau, trả về chỉ số mảng kí tự
– Nếu hết vòng lặp không tìm thấy, return -1
/******************Get position of character*************** * When Who What * 03/05/2016 vncoding create ***********************************************************/ #include <conio.h> #include <stdio.h> int getPosStr(const char* s, char c); void main() { char s[] = "vncoding blog"; char c = 'b'; printf("\'%c\' at index = %d", c, getPosStr(s, c)); getch(); } /************************************** Function : getPosStr() Parameter: [IN] s: string [IN] c: characeter Return : index where c occurs ***************************************/ int getPosStr(const char* s, char c) { int idx = 0; while(*(s + idx)) { if (*(s + idx) == c) { return idx; } idx++; } return -1; }
Ngoài ra, chúng ta có thể dùng duyệt mảng kí tự thay vì dùng con trỏ
int getPosStr(const char* s, char c) { int idx; for (idx = 0; s[idx] != NULL; idx++) { if (s[idx] == c) { return idx; } } return -1; }
Kết quả:
Leave a Reply
You must be logged in to post a comment.