91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言字符串中的單詞去重與排序

發布時間:2024-08-30 09:33:45 來源:億速云 閱讀:94 作者:小樊 欄目:編程語言

在C語言中,對字符串中的單詞進行去重和排序需要一些基本的字符串操作和數據結構。以下是一個簡單的示例,展示了如何實現這個功能:

#include<stdio.h>
#include <stdlib.h>
#include<string.h>
#include <ctype.h>

// 比較函數,用于 qsort
int cmp(const void *a, const void *b) {
    return strcmp(*(const char **)a, *(const char **)b);
}

// 去重函數
void remove_duplicates(char *words[], int *count) {
    int i, j;
    for (i = 0; i < *count - 1; i++) {
        for (j = i + 1; j < *count; j++) {
            if (strcmp(words[i], words[j]) == 0) {
                memmove(&words[j], &words[j + 1], (*count - j - 1) * sizeof(char *));
                (*count)--;
                j--;
            }
        }
    }
}

int main() {
    char input[] = "hello world this is a test hello world";
    char *word, *saveptr;
    char *words[100]; // 假設單詞數量不超過100個
    int count = 0;

    // 將輸入字符串分割成單詞
    word = strtok_r(input, " ", &saveptr);
    while (word != NULL) {
        words[count++] = word;
        word = strtok_r(NULL, " ", &saveptr);
    }

    // 去重
    remove_duplicates(words, &count);

    // 排序
    qsort(words, count, sizeof(char *), cmp);

    // 輸出結果
    for (int i = 0; i< count; i++) {
        printf("%s ", words[i]);
    }
    printf("\n");

    return 0;
}

這個程序首先使用strtok_r函數將輸入字符串分割成單詞,并將它們存儲在words數組中。然后,它調用remove_duplicates函數去除重復的單詞,并使用qsort函數對單詞進行排序。最后,它遍歷并輸出排序后的單詞。

請注意,這個示例假設單詞數量不超過100個,并且每個單詞的長度不超過輸入字符串的長度。在實際應用中,你可能需要根據實際情況調整這些限制。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

集贤县| 内江市| 乳山市| 巨鹿县| 茂名市| 开封县| 山东省| 台安县| 白沙| 新竹县| 石渠县| 饶河县| 金沙县| 云梦县| 唐山市| 丽水市| 会宁县| 云霄县| 茶陵县| 兴海县| 深水埗区| 定远县| 铅山县| 龙陵县| 湘潭市| 夹江县| 固始县| 长子县| 海原县| 镇雄县| 温州市| 运城市| 怀化市| 阿拉善盟| 伊宁市| 沂源县| 澳门| 巴东县| 安福县| 延长县| 三河市|