c++基础题 求大神解决 100

c++基础题求大神解决按照图片上的要求多谢多谢... c++基础题 求大神解决按照图片上的要求 多谢多谢 展开
 我来答
janlzhou
2018-04-18 · 独学而无友,则孤陋而寡闻
janlzhou
采纳数:157 获赞数:259

向TA提问 私信TA
展开全部
基础算法题,第一个用随机数生成函数,随机发牌,记录发给谁,然后输出即可碧凳。
第二个,是考查两层循环,然后改变框了的状态,试猜弊着努力一下,你可以写出来。穗慧族
追问
大哥 不是,我不是学这个的  我朋友要  我也不会 所以就问一下 你写一个给我可以吗 老哥拜托了
螺丝快跑
2018-04-18
知道答主
回答量:3
采纳率:0%
帮助的人:2670
展开全部

这里只说思路,不提供答案。

1,洗牌问题

首先你需要开一个数组(vector)存放这52张牌,如

vector<string> cards;

方法一: 使用c++标准库中的std::random_shuffle 函数来进行洗牌。注意,用这个函数需要在程序开头橘谈加上 #include <random>。

std::random_shuffle(cards.begin(), cards.end());

方法二:对cards的每个元素都进行一次随机的交换,如

srand((int)time(0)); // 设置随机种子
for(int index = 伏伍宽0; index < 52; ++index){  
  value = rand() % 52;  
  temp = cards[index]; // 你也可以用标准库的swap来进行交换
  cards[index] = cards[value];  
  cards[value] = temp;  
}

2 ,储物柜

先开个数组

vector<int> cabinet(100, -1); // 100个元素,初始化为-1

然后100个学生进行操作

for(int i = 0; i < 100; ++i){ // 第i个人
  缺亮  for(int j = i; j < 100; j += (i+1)){  // 如果对(i+1)不清楚,不妨验算一下
      cabinet[j] = - cabinet[j];
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式