字符串-10815 Andy’s First Dictionary

来源:互联网 发布:如何学游戏编程 编辑:程序博客网 时间:2024/05/19 12:40

题目大意:给一段文章,分离单词,按字母序排列,不要重复

解题过程:挺无语的,第一次WA,检查了半天不知道为什么,后来发现调试的时候忘记把文件输入去掉了。。。

正确代码:

# include <cstdio># include <cstdlib># include <ctime># include <cmath># include <iostream># include <fstream># include <cstring># include <string>//*#define fin cin#define fout cout//*/using namespace std;/*ifstream fin("in.txt");ofstream fout("out.txt");//*/int cmp(const void * a,const void * b){return strcmp((char *)a,(char*)b);}char dictionary[5005][205];bool isin(char (*dictionary)[205],int lenofdic,char * word){for(int i=0;i<lenofdic;i++){if(strcmp(word,dictionary[i])==0) return true;else if(strcmp(word,dictionary[i])<0) return false;}return false;}int main(){char temp[200];int lenofdic=0;while(fin.getline(temp,200)){for(int i=0,j=0;i<strlen(temp);i++){if(isalpha(temp[i])){char word[200];for(j=i;j<strlen(temp);j++){if(!isalpha(temp[j])){break;}else word[j-i]=tolower(temp[j]);} word[j-i]='\0';i=j;if(!isin(dictionary,lenofdic,word)){strcpy(dictionary[lenofdic++],word);qsort(dictionary,lenofdic,sizeof(dictionary[0]),cmp);}}}}for(int i=0;i<lenofdic;i++){fout<<dictionary[i]<<endl;}return 0; } 

0 0
原创粉丝点击