所以在一開始要先記錄它的字典裡的字,再去讀取員工描述。將每個字與字典的字比對後,若有出現,則加上它的 Hay Points;反之,則否。程式如下:
int m, n, i, j, k;
scanf("%d%d", &m, &n);
for (i = 0; i < m ; i ++)
scanf("%s %d", w[i].str, &w[i].point);
for (i = 0; i < n; i ++)
{
int point = 0;
while (gets(str))
{
if (str[0] == '.') break;
int index = 0;
for (j = 0; str[j]; j ++)
{
if (isalpha(str[j]))
word[index ++] = str[j];
if (!isalpha(str[j]) || str[j + 1] == '\0')
{
word[index] = '\0';
for (k = 0; k < m; k ++)
if (strcmp(word, w[k].str) == 0)
{ point += w[k].point; break; }
index = 0;
}
}
}
printf("%d\n", point);
}
而結構宣告如下:
struct word
{
char str[20];
int point;
};
struct word w[1000];
char str[200];
char word[20];
By David.K
p10295題目連結
回ACM題庫目錄
回首頁
沒有留言:
張貼留言