poj 1598 句子中提取单词
来源:互联网 发布:网络主干光纤怎么布 编辑:程序博客网 时间:2024/06/06 01:15
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int n, m;int num[40];char str[30][80];char s[30][100];int cmp(char ch) { if((ch>= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) return 1; else return 0;}int main(){ int maxn; int q = 1; while(scanf("%d%d", &n, &m) != EOF) { getchar(); for(int i = 0; i < n; i++){ scanf("%s", str[i]); // printf("%s\n", str[i]); } getchar(); memset(num, 0, sizeof(num)); maxn = 0; for(int i = 0; i < m; i++) { char ch[100]; gets(s[i]); // printf("aaaaaaaaaaa%s\n", s[i]); int len = strlen(s[i]); for(int j = 0; j < len; j++) { int a = 0; while(cmp(s[i][j])) { //用while很好的实现了句子中单词的提取, if(s[i][j] >= 'A' && s[i][j] <= 'Z') ch[a++] =s[i][j] + 32; else ch[a++] = s[i][j]; j++; } if(a > 0) { //一个单词被提取出来。 int k; ch[a] = '\0'; // printf("\n22222%s\n", ch); for(k = 0; k < n; k++) { //查找是否有关键字。 if(strcmp(ch, str[k]) == 0) break; } if(k < n) //检查是否查到关键字。 num[i]++; } } maxn = max(maxn, num[i]); } printf("Excuse Set #%d\n", q++); for(int i = 0; i < m; i++) if(num[i] == maxn) printf("%s\n", s[i]); printf("\n"); } return 0;}
0 0
- poj 1598 句子中提取单词
- 句子中单词倒序
- 句子中单词的个数
- 翻转句子中单词顺序
- 翻转句子中单词顺序
- 如何提取每个单词所出现的句子
- 输入一个英文句子,翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 10.翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 10、翻转句子中单词的顺序
- 翻转句子中单词的顺序
- 翻转句子中单词的顺序
- SystemClock.sleep和Thread.sleep的区别
- Nginx+tomcat
- 母函数
- 山东理工ACM【1009】Elevator
- Hadoop框架之HDFS的shell操作
- poj 1598 句子中提取单词
- 判断请求时否是手机端
- 关于android开发中省电的技巧
- 摇手机换歌曲
- iTileMaps
- ObjectAnimator能力探究
- .net免费资料分享
- 大数据的免费资料分享
- 在WINDOWS下使用github 完成简单的操作过程,不需要使用命令行