首页
IT
登录
6mi
u
盘
搜
搜 索
IT
程序设计:1035:拼写检查——百炼oj
程序设计:1035:拼写检查——百炼oj
xiaoxiao
2021-03-25
68
#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 10100 char 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 10100 char 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"); } } }
转载请注明原文地址: https://ju.6miu.com/read-32596.html
技术
最新回复
(
0
)