第十七章 17.4.2节练习
2014-10-08 11:31
169 查看
练习17.31
对于本节中的游戏程序,如果在do循环内定义b和e,会发生什么?
解答:
b放在循环内部,或者循环外部都是可以的。
但是,当把e的声明放在循环内部的话,每次生成的数就一样了。放在循环外部e就能保持状态,每次都会生成不同的随机数。
练习17.32
如果我们再循环内部定义resp,会发生声明?
解答:
这个很容易看出来。编译阶段就会出现问题。
在while语句中肯定会提示resp没有定义。
练习17.33
修改11.3.6节(第392页)中的单词转换程序,允许你对一个给定单词有多种转换方式,每次随机选择一种进行实际转换。
解答:
这个就略过吧。
用随机数操作来进行选择对应的转换即可。
对于本节中的游戏程序,如果在do循环内定义b和e,会发生什么?
解答:
#include <iostream> #include <random> #include <string> using namespace std; int main(){ string resp; //default_random_engine e; //bernoulli_distribution b; do{ default_random_engine e; bernoulli_distribution b; cout << e() << endl; cout << b(e) << endl; bool first = b(e); cout << (first? "We go first" : "You get to go first") << endl; //cout << ((play(first))? "Sorry, you lost" : "congrats, you won") << endl; cout << "play again? Enter 'yes' or 'no'" << endl; } while(cin >> resp && resp[0] == 'y'); }可以尝试这样写代码进行验证。
b放在循环内部,或者循环外部都是可以的。
但是,当把e的声明放在循环内部的话,每次生成的数就一样了。放在循环外部e就能保持状态,每次都会生成不同的随机数。
练习17.32
如果我们再循环内部定义resp,会发生声明?
解答:
这个很容易看出来。编译阶段就会出现问题。
在while语句中肯定会提示resp没有定义。
练习17.33
修改11.3.6节(第392页)中的单词转换程序,允许你对一个给定单词有多种转换方式,每次随机选择一种进行实际转换。
解答:
这个就略过吧。
用随机数操作来进行选择对应的转换即可。
相关文章推荐
- C++ Primer Plus第六版 第十七章 编程练习答案(完结篇...木有18章)
- 第十七章 17.5.2节练习 & 17.5.3节练习
- 现代软件工程 练习与讨论 第十七章 人、绩效和职业道德
- 第十七章 17.3.1节练习
- 第十七章 17.3.2节练习
- C primer plus(第五版)编程练习第十七章
- 第十七章 17.3.3节练习
- 《C++ Primer Plus(第六版)》(42)(第十七章 输入、输出和文件 编程练习和答案2)
- 第十七章,txt文件的写入和读取数据结合练习(C++)
- C ++ Primer Plus 第六版 第十七章编程练习答案
- 第十七章 17.3.4节练习
- 现代软件工程 第十七章 【人、绩效和职业道德】 练习与讨论
- Android编程权威指南-第十七章挑战练习
- 第十七章 17.4.1节练习
- 第十七章 17.1.1节练习
- 《C++ Primer Plus(第六版)》(41)(第十七章 输入、输出和文件 编程练习和答案1)
- C Primer Plus (第五版) 第十七章 高级数据显示 编程练习
- 第十七章 17.1.2节练习
- 第十七章 17.2.1节练习 &17.2.2节练习
- 第十七章 17.5.1节练习