程序设计:1035:拼写检查——百炼oj

来源:互联网 发布:淘宝卖衣服怎么进货 编辑:程序博客网 时间:2024/04/27 22:42

#include<string.h>#include<string>using namespace std;const int MAXN = 10000 + 1;const int len_str = 100;int main(){string temp, str[MAXN];int count = 0;while(cin>>temp){if (temp[0] == '#')break;else{str[count] = temp;count++;}}while (cin>>temp){
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;#define N 51#define M 10100char a[M][N],b[N];int lena[M];bool f(int k,char b[]){    int lenb=strlen(b),i;    int t=lena[k]-lenb;    if(t==1){        for(i=0;i<lenb&&a[k][i]==b[i];i++);        for(;i<lenb&&a[k][i+1]==b[i];i++);        if(i==lenb)            return true;        else            return false;    }    else if(t==0){        for(i=0;i<lenb&&a[k][i]==b[i];i++);        for(++i;i<lenb&&a[k][i]==b[i];i++);         if(i==lenb)            return true;        else            return false;    }    else if(t==-1){        for(i=0;i<lenb&&a[k][i]==b[i];i++);        for(++i;i<lenb&&a[k][i-1]==b[i];i++);         if(i==lenb)            return true;        else            return false;    }    else        return false;}int main(){    int cnt=0,i,j;    while(scanf("%s",a[cnt])){        if(a[cnt][0]=='#')            break;        lena[cnt]=strlen(a[cnt]);        cnt++;    }    while(scanf("%s",b)){        if(b[0]=='#')            break;        int lenb=strlen(b);        for(i=0;i<cnt;i++){            if(lena[i]==lenb&&strcmp(a[i],b)==0)               {                   printf("%s is correct\n",b);                   break;               }        }       // cout<<"i="<<i<<endl;        if(i==cnt){            printf("%s:",b);            for(j=0;j<cnt;j++){                { if(f(j,b))                    {printf(" %s",a[j]);}                    }            }            printf("\n");        }    }}
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;#define N 51#define M 10100char a[M][N],b[N];int lena[M];bool f(int k,char b[]){    int lenb=strlen(b),i;    int t=lena[k]-lenb;    if(t==1){        for(i=0;i<lenb&&a[k][i]==b[i];i++);        for(;i<lenb&&a[k][i+1]==b[i];i++);        if(i==lenb)            return true;        else            return false;    }    else if(t==0){        for(i=0;i<lenb&&a[k][i]==b[i];i++);        for(++i;i<lenb&&a[k][i]==b[i];i++);         if(i==lenb)            return true;        else            return false;    }    else if(t==-1){        for(i=0;i<lenb&&a[k][i]==b[i];i++);        for(++i;i<lenb&&a[k][i-1]==b[i];i++);         if(i==lenb)            return true;        else            return false;    }    else        return false;}int main(){    int cnt=0,i,j;    while(scanf("%s",a[cnt])){        if(a[cnt][0]=='#')            break;        lena[cnt]=strlen(a[cnt]);        cnt++;    }    while(scanf("%s",b)){        if(b[0]=='#')            break;        int lenb=strlen(b);        for(i=0;i<cnt;i++){            if(lena[i]==lenb&&strcmp(a[i],b)==0)               {                   printf("%s is correct\n",b);                   break;               }        }       // cout<<"i="<<i<<endl;        if(i==cnt){            printf("%s:",b);            for(j=0;j<cnt;j++){                { if(f(j,b))                    {printf(" %s",a[j]);}                    }            }            printf("\n");        }    }}

0 0
原创粉丝点击