Tổng số bài gửi : 178 Cảm ơn : 413 Danh vọng : 4 Join date : 03/01/2011 Age : 32 Đến từ : TPHCM
Tiêu đề: Đếm từ - (Chuỗi - Xâu ký tự) Sat Mar 05, 2011 5:28 pm
Sat Mar 05, 2011 5:28 pm Đếm từ - (Chuỗi - Xâu ký tự)
Code:
#include <stdio.h> #include <string.h> #include <conio.h> #define Max 1001 int Dem(char *S); void main() { char s[Max]; flushall(); printf("Nhap chuoi: "); gets(s); printf("Chuoi vua nhap co %d tu\n",Dem(s)); getch(); } int Dem(char *S) { int i=0,dem=0,len= strlen(S); bool flagTu= false; while(i<len) // Xet toan bo chuoi { //Xet khi gap ky tu khoang trang while(S[i]==' '&&i<len) i++; //Xet khi gap ky tu khong phai khoang trang while(S[i]!=' '&&i<len) { i++; flagTu=true; // danh dau da gap 1 tu } //Dem tu if(flagTu) { dem++; flagTu=false; } } return dem; } /* Tai sao phai them dieu kien i<len cho cac vong lap nho trong khi vong lap lon da chua dieu kien do Ta co doan code ben trong vong lap lon nhu sau: while(S[i]==' ') // Xet ky tu khoang trang i++; while(S[i]!=' ') // Xet ky tu khong la khoang trang { i++; flagTu=true; } _Vi khi chay den gan cuoi thoa man dieu kien vong lap lon i<len, nhung khi chay den gap ki tu ket thuc chuoi \0 thi van thoa man dieu kien while(S[i]!=' ') nen vong lap nay tiep tuc va khi do ta se dem du 1 tu VD: Le_ _ _ _ Loi _ _ _ _ _ _ _ \0 Khi su dung code sai se in ra 3 tu! */