已解决
红白蓝随机一批盒,要求每个盒只分析一次,让他们次序为红白蓝
来自网友在路上 173873提问 提问时间:2023-11-06 20:19:52阅读次数: 73
最佳答案 问答题库738位专家为你答疑解惑
15
蓝 红 红 红 白 红 红 白 白 蓝 蓝 红 红 红 蓝
红 红 红 红 红 红 红 红 白 白 白 蓝 蓝 蓝 蓝
#include <iostream>
#include <ctime>
#include <cstdlib>#define MAX 100int a[MAX];
char name[][5] = {"红","白","蓝"};
int n;int getI() {return rand() % 3;
}
void Print(int n) {for (int i = 0; i < n; i++) {printf("%s ",name[a[i]]);}puts("");}
void fun1(int a[], int t) {int k = a[t];for (int i = t - 1; i >= 0; i--)a[i + 1] = a[i];a[0] = k;
}
void fun2(int a[],int n) {int k = a[0];for (int i = 0; i < n - 1; i++)a[i] = a[i + 1];a[n - 1] = k;
}
int main() {srand(time(NULL));scanf("%d",&n);for (int i = 0; i < n; i++)a[i] = getI();Print(n);int i = 0,j=0;while (1)//每个分析一次{int t = a[i];if (t == 1){i++;}else if (t == 0) {//a[i]放到a[0]处fun1(a, i++);}else { //a[i]放到尾部fun2(a + i,n-i);}j++;//分析元素个数的统计if (j == n)break;}Print(n);
}
查看全文
99%的人还看了
猜你感兴趣
版权申明
本文"红白蓝随机一批盒,要求每个盒只分析一次,让他们次序为红白蓝":http://eshow365.cn/6-33902-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 5G-DFS最新动态-产品不在需要走FCC官方测试
- 下一篇: 垃圾回收系统小程序定制开发搭建攻略