期末考英语原文挖空考,在队友的启发下我顺手写了一个代码可以自动挖空。
操作基本就是 复制 粘贴,输入单个x 后回车就会输出挖空完的文章
再按x 出答案
(比较粗糙,所以可能有的时候会有一些小bug
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+7;
string a[maxn];
string ss[maxn];
string sx[maxn];
string b[maxn] ={"I","my","than","like","much","but","the","our","was","going","just","that","one","make","and","with","can","have","had","when","while","which","while,","away","are","is","also","more","into","even","who","from","they","everyone","there"};//你可以在这里输你不想出现的单词
int cnt=1;
int main(){srand(time(0));while(cin>>ss[cnt]){if(ss[cnt][0]=='x'&&ss[cnt].length()==1)break;if(ss[cnt][ss[cnt].length()-1]=='.'||ss[cnt][ss[cnt].length()-1]==','){ss[++cnt] =ss[cnt][ss[cnt].length()-1];sx[cnt]= ss[cnt];ss[cnt-1].erase(ss[cnt-1].length()-1,1);sx[cnt-1] = ss[cnt-1];continue;}sx[cnt] = ss[cnt];cnt++;}int ctt=0;
for(int i=1;i<cnt;i+=23){int flag =1;int xx;while(flag==1){int cc =0;flag=0;int x = rand()%23+i+1;xx= x;if(ss[x][0]>='0'&&ss[x][0]<='9')flag =1;if(ss[x].length()<=2)flag=1;for(int j=0;j<35;j++)if(ss[x]==b[j])flag =1;if(cc>100)break; }if(flag==0){a[++ctt] = ss[xx];ss[xx]= "______";}} for(int i=1;i<cnt;i+=11){int flag =1;int xx;while(flag==1){int cc =0;flag=0;int x = rand()%11+i+1;xx= x;if(ss[x][0]>='0'&&ss[x][0]<='9')flag =1;if(ss[x].length()<=2)flag=1;for(int j=0;j<35;j++)if(ss[x]==b[j])flag =1;if(cc>100)break; }if(flag==0){a[++ctt] = ss[xx];ss[xx]= "______";}} for(int i=1;i<cnt;i++){if(ss[i][0]>='0'&&ss[i][0]<='9'&&ss[i].length()==1)cout<<endl;cout<<ss[i]<<" "; }int x;cout<<endl;cin>>x;for(int i=1;i<=cnt;i++){if(ss[i]== "______")cout<<sx[i]<<endl; }return 0;
}
本文发布于:2024-01-29 07:17:59,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170648388213623.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |