uva 409 Excuses, Excuses!(字符串模拟)
2014-06-18 22:22
597 查看
也是根据题意来模拟就行了。
思路是从给的字符串入手,一个一个比对关键字。
有个debug的地方。交完题RE。
是:for (int i = 0; s[i] != '\0'; i++)//debug
开始时用的是 s[i] != '\n'。
大概是'\n'被getchar吃掉了,程序无法结束。
代码:
思路是从给的字符串入手,一个一个比对关键字。
有个debug的地方。交完题RE。
是:for (int i = 0; s[i] != '\0'; i++)//debug
开始时用的是 s[i] != '\n'。
大概是'\n'被getchar吃掉了,程序无法结束。
代码:
#include <stdio.h> #include <string.h> const int Maxn = 25; char key[Maxn][Maxn], exc[Maxn][75]; int coutkey(char s[], int k) { int res = 0; int m = 0; char tmp[75]; for (int i = 0; s[i] != '\0'; i++)//debug { if (s[i] >= 'A' && s[i] <= 'Z') tmp[m++] = s[i] + 32; else if (s[i] >= 'a' && s[i] <= 'z') tmp[m++] = s[i]; else { tmp[m] = '\0'; m = 0; for (int j = 0; j < k; j++) { if(strcmp(tmp, key[j]) == 0) res++; } } } return res; } int main() { #ifdef LOCAL freopen("in.txt", "r", stdin); #endif // LOCAL int n[Maxn], k, e, num = 1, max; while (scanf("%d%d", &k, &e) == 2) { max = 0; getchar(); for (int i = 0; i < k; i++) { scanf("%s", &key[i]); } getchar(); for (int i = 0; i < e; i++) { fgets(exc[i], 75, stdin); } for (int i = 0; i < e; i++) { n[i] = coutkey(exc[i], k); if (max < n[i]) max = n[i]; } printf("Excuse Set #%d\n", num++); for (int i = 0; i < e; i++) { if(n[i] == max) { printf("%s", exc[i]); } } printf("\n"); } return 0; }
相关文章推荐
- uva 409(字符串模拟)
- Excuses, Excuses! UVa409 字符串
- Excuses, Excuses! - UVa 409 哈希字符串
- UVa409_Excuses, Excuses!(小白书字符串专题)
- UVa409_Excuses, Excuses!(小白书字符串专题)
- 字符串训练------UVA 409题目 Excuses, Excuses!
- UVA 409 (暑假-字符串(2) -B - Excuses, Excuses!)
- uva409 Excuses, Excuses!(字符串处理)
- UVA 409 - Excuses, Excuses!(字符串)
- UVA 409-Excuses, Excuses!(模拟)
- uva 409 Excuses, Excuses!(字符串处理)
- UVA 409 Excuses, Excuses!
- UVa 409 - Excuses, Excuses!
- uva 409 Excuses, Excuses!
- UVA 409 Excuses, Excuses!
- UVa 409 Excuses, Excuses!
- UVA 409 Excuses, Excuses!
- uva 409 Excuses, Excuses!
- UVA409- Excuses, Excuses!
- UVa 409 - Excuses, Excuses!