KH_WEB_CB_2026_01

KH_DSA_C_2026_01

KH_TT_CB_2026_01

KH_OOP_C_SHARP_2026_01

C

Bắt Từng Con Chữ 🐣 – Xây Dựng Bộ Đếm Từ Với C

bởi Phạm Xuân Hoài - 3 tháng 3, 2026

Bắt Từng Con Chữ 🐣 – Xây Dựng Bộ Đếm Từ Với C

📖 Tài liệu


💻 Tham khảo code

Xem code
#include <stdio.h>
#include <string.h>

int main() {

	char text[1000];
	char words[1000][500];
	int wordCount = 0;

    printf("\nInput: ");
    fgets(text, sizeof(text), stdin);
    text[strcspn(text, "\n")] = '\0';

    printf("\nOutput: %s", text);

    char *token = strtok(text, " ");

    while(token != NULL) {
    	//printf("\n%s", token);
    	strcpy(words[wordCount++], token);
    	token = strtok(NULL, " ");
	}

	printf("\nWords array:\n");
    for(int i = 0; i < wordCount; i++) {
        printf("\nwords[%d] = %s", i, words[i]);
    }

    int freq[wordCount];
    //for(int i = 0; i < wordCount; i++) {
    //    freq[i] = 0;
    //}
    memset(freq, 0, sizeof(freq));

    for(int i = 0; i < wordCount; i++) {

    	if(freq[i] == -2910) {
    		continue;
		}

    	freq[i] = 1;

    	for(int j = i + 1; j < wordCount; j++) {
    		if(strcmp(words[i], words[j]) == 0) {
	    		freq[i]++;
	    		freq[j] = -2910;
			}
		}

	}

	printf("\n\nResult:\n");
	for(int i = 0; i < wordCount; i++) {
		if(freq[i] != -2910) {
            printf("%s - %d\n", words[i], freq[i]);
        }
	}

	return 0;
}