文章标题
2017-05-31 22:53
302 查看
目的:输入一串英文字符 输入要删除几个字符 随机挑选位置删除字符后输出
例如输入: zxcasd 删除一个数1 随机生成 1
结果为:xcasd
#include <iostream> #include <cstring> #include <cstdlib> using namespace std; int main() { cout<<"输入字符"<<endl; char strings[100]; cin>>strings; int length,times; length=strlen(strings); cout<<"字符串长度为 "<<length<<endl; cout<<"输入你想要随即删除的字符数:"<<endl; cin>>times; int a[100]; for(int i=0;i<100;i++) a[i]=-1; int k; for(int i=1;i<=times;i++) { do { k=0; a[i]=rand()%length; for(int j=1;j<=times;j++) { if(a[j]==a[i]&&i!=j) { k=1; break; } } }while(k==1); strings[a[i]-1]='$'; //这里令删除位置为$ cout<<"第"<<i<<"次随机删除的位置为"<<a[i]<<endl; } char strings1[100]; int sum=0; for(int i=0;i<length;i++) { if(strings[i]!='$') { strings1[sum]=strings[i]; sum++; } } cout<<"输出删除后的字符串"<<endl; for(int i=0;i<sum;i++) cout<<strings1[i]; return 0; }
例如输入: zxcasd 删除一个数1 随机生成 1
结果为:xcasd