[C++] 纯文本查看 复制代码 #include <bits/stdc++.h>
using namespace std;
//2025 魔术
//杯子,筷子,勺子随机摆放
//筷子跟左边的东西互换
//杯子跟右边的东西互换
//勺子跟左边的东西互换
//拿起右手边的东西,干杯
int main()
{
srand(time(0));//随机种子函数
string b[3]={"筷子","杯子","勺子"};
int a[3]={0,1,2};//"筷子","杯子","勺子"
for(int i=1;i<=10;i++)
{
random_shuffle(a,a+3);//随机排序函数
cout<<"第"<<i<<"次试验:\n" ;
cout<<"摆放顺序:"<<b[a[0]]<<" "<<b[a[1]]<<" "<<b[a[2]]<<" \n";
int kz=find(a,a+3,0)-a;
if(kz>0) swap(a[kz],a[kz-1]);
cout<<"第1次交换后:"<<b[a[0]]<<" "<<b[a[1]]<<" "<<b[a[2]]<<" \n";
int bz=find(a,a+3,1)-a;
if(bz<2) swap(a[bz],a[bz+1]);
cout<<"第2次交换后:"<<b[a[0]]<<" "<<b[a[1]]<<" "<<b[a[2]]<<" \n";
int sz=find(a,a+3,2)-a;
if(sz>0) swap(a[sz],a[sz-1]);
cout<<"第3次交换后:"<<b[a[0]]<<" "<<b[a[1]]<<" "<<b[a[2]]<<" \n\n";
}
return 0;
}
|