簡體   English   中英

計算不同單詞數量的c程序

[英]c program that calculates the number of different words

我正在嘗試制作一個程序,用戶將不斷給出單獨的單詞,並且程序將計算所有不同的單詞。 例如:用戶給出:“Hello”,用戶給出:“Bye”,用戶給出:“Good”,用戶給出:“Bad”,用戶給出:“Bye”。 這是4個不同的詞。 我希望它在用戶完成單詞時計算它們。 這是我寫的一些代碼,但我無法完成它。 我是編程新手,這個問題可能看起來很傻,但對我來說非常重要。

`

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


int main(int argc, char *argv[]) {
    int num=0,b=0,h=0,g=0;
    char name[31],text[2000];
    while (num==0){
        printf("give word: \n");
        scanf("%s", name);
        printf("%s\n", name);
        if (strcmp(name,"*fff*")==0){
            num=1;
        }
        else {
            h=h+1;
            b=b+strlen(name);
            strcpy(text,name);


        }
    }

    return 0;
}

`

與其將單詞放在一個巨大的字符數組中,不如創建一個字符數組數組,然后每次檢查整個數組是否有重復項。 這將是相對低效的,但它會起作用。

每次閱讀一個單詞時,將其轉換為唯一的 32 位哈希。 在排序的整數數組中搜索比進行 1000 次字符串比較要快得多,也更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM