English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

文章如下例:
今天天氣很好,我想出去玩,但是又怕下雨,不知道怎麼辦。
關鍵字:今天,天氣,下雨,不知道
我想要把句子和關鍵字存入陣列
句子的陣例,如上得a[4]=今天天氣很好,我想出去玩,但是又怕下雨,不知道怎麼辦
關鍵字的陣例,如上得b[4]=今天,天氣,下雨,不知道
然後句子跟關鍵字比較
每句都在生成陣列
陣列的數是關鍵字的字數,如上得c[4]
像第一句的陣列得到1,1,0,0
第二句的陣列得到0,0,0,0
第三句的陣列得到0,0,1,0
第四句的陣列得到0,0,0,1

2006-08-03 11:41:58 · 3 個解答 · 發問者 〝Beat It﹋ 2 in 電腦與網際網路 程式設計

3 個解答

//Power by Microsoft Visual Studio 2005//可以使用 Dev-C++ 編譯此程式#include #include #include int main(int argc, char *argv[]){ //=====STATEMENT=====// int nB[4][4],j=0,i; char *ptrToken,SEP[]=",。"; char a[]="今天天氣很好,我想出去玩,但是又怕下雨,不知道怎麼辦。"; char *b[4]={"今天","天氣","下雨","不知道"}; ptrToken=strtok(a,SEP); while(ptrToken!=NULL){  for(i=0;i<4;i++){   if(strstr(ptrToken,b[i])!=NULL){    nB[j][i]=1;   }else{    nB[j][i]=0;   }  }  j++;  ptrToken=strtok(NULL,SEP); } for(j=0;j<4;j++){  for(i=0;i<4;i++){   printf("%d,",nB[j][i]);  }  printf("\b \n"); } //=====END=====// system("PAUSE"); return 0;}//main
圖片參考:http://www.geocities.com/linuxhmj/picture/c1.png

2006-08-03 12:39:58 · answer #1 · answered by Big_John-tw 7 · 0 0

http://tw.knowledge.yahoo.com/question/?qid=1106080706106

綿羊可以幫我再看看下一個問題嗎...謝謝

2006-08-07 10:13:54 · answer #2 · answered by 〝Beat It﹋ 2 · 0 0

// 這個 function 會數 keyword 這個字串在 target 中出現了多少次
int CountOccurence(char* target, char* keyword)
{
// 累加的答案
int count = 0;
// 用 strstr 來找 target 中是否有 keyword
char* finger = strstr( target, keyword );
// 若是有的話,累加,並找下一個
while( finger )
{
count++;
// 跳過子字串前面的 keyword 後再找看有沒有別的 keyword
finger = strstr( finger + strlen(keyword), keyword );
}
return count;
}

int _tmain(int argc, _TCHAR* argv[])
{
// 你的句子
char sentences[4][200] = { "今天天氣很好", "我想出去玩", "但是又怕下雨", "不知道怎麼辦" };
// 你的keyword
char keywords[4][200] = { "今天", "天氣", "下雨", "不知道" };

// 答案的陣列
char answer[4][4];

int i, j;
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
{
// 對每一個句子跟每一個keyword的組合,呼叫 CountOccuurence來看keyword出現幾次
answer[i][j] = CountOccurence( sentences[i], keywords[j] );
printf("%d ", answer[i][j]);
}
printf("\n");
}

getch();
}

2006-08-03 12:17:51 · answer #3 · answered by Dave 7 · 0 0

fedest.com, questions and answers