当前位置: 首页 > news >正文

广州网站建设外包建设推广建设网站流程

广州网站建设外包建设推广,建设网站流程,wordpress悬浮导航,开发app找什么公司编程实现一个游戏程序,会将连续三个字母中的一个隐去,由玩家填写隐去的那个字母,如屏幕上显示A ? C,则玩家需要输入B;屏幕上显示?B C,则玩家需要输入A。记录玩家完成20次游戏的时间以及正确率。…

编程实现一个游戏程序,会将连续三个字母中的一个隐去,由玩家填写隐去的那个字母,如屏幕上显示A ? C,则玩家需要输入B;屏幕上显示?B C,则玩家需要输入A。记录玩家完成20次游戏的时间以及正确率。

🍂1.实现连续三个字母出现

如何能让三个字母出现呢?
三个连续的字母的特点是ASCII码值成比例
只要列出三个成比例的数字然后它们对应的是字母即可。
那怎么找到三个成比例的数字呢?
我们可以利用rand()函数生成随机值,让随机值模上3便可以生成0-2之间的数字,而让0对应着第一个字母,1对应着第二个字母,2对应着第三个字母。如果rand()%3结果为0则让第一个字母为?其他字母显示,让玩家猜出这个?字母,而当rand()%3结果为1,则让第二个字母为?,第一个和第三个字母显示。如果rand()%3结果为2,则让第三个字母为?第1个和第2个字母显示。
但是使用rand()生成的值却是一个不变的随机值,我们需要一个生成不断变化随机值,这时就需要time来生成一个随机种子了
srand((unsigned int)time(NULL))time的参数是NULL,返回值为unsigned int类型。
这样就可以生成随机值了。
那对应关系我们知道了,还需要让连续字母出现也需要用到rand
rand()%24+'A'就可以生成随机字母了然后再与0,1,2对应就可以了。

 position = rand()%3+'0';    // 随机隐藏的位置0,1,2character = rand()%24+'A';  // 随机出现的第一个字母 A-Xprintf("----- Round %d -----\n", i+1);if (position == '0')//0对应着第一个字母  {answer = character;printf("? %c %c\n", character+1, character+2);} else if (position == '1') //1对应着第2个字母{answer = character + 1;printf("%c ? %c\n", character, character+2);} else if (position == '2')//3对应着第3个字母 {answer = character + 2;printf("%c %c ?\n", character, character+1);}

🍃2.确定游戏时间与准确率

我们可以利用time_t类型来定义两个变量start,end。
用来记录开始时间和结束时间。
第一次使用time(NULL),可以进行计时,而第二次再使用time(NULL),计时便停止下来。
所以我们可以在游戏开始之前进行计时,当20把游戏结束后进行计时结束。
start=time(NULL)开始计时
end=time(NULL)停止计时

如何确定准确率呢,肯定需要知道答对还是没答对,定义一个count;
用来记录答对的次数,每次答对则进行++。
而正确率的计算就是正确的个数/比赛的次数。

🍀3.猜字母操作

这里我们玩家需要猜出?是什么字母,将要写的字母输入电脑中,然后进行比较
不过我们需要注意的是:输入这个操作是要循环20次,所以就要考虑scanf函数的空格缓冲区域
每次输入一个字符还需要enter一下,这时缓冲区相当于就会有两个字符,而下一次scanf就会把空格传给电脑,这样是不行的,
所以我们需要在每次输入后,都要清除一下缓冲区中的空格,用getchar()函数吸收空格。

printf("请输入正确字母:");scanf("%c", &guess);getchar();if (answer == guess){printf("对的\n");count++;}else{printf("错误的,正确的答案是%c\n",answer);}

也可以使用另一种方法,利用do…while清空缓冲区

 printf("Please enter the correct letter: ");guess = getchar();do {scanf("%c",&c);} while(c!='\n');if (answer == guess) {printf("Correct!\n");count++;} else {printf("Wrong! The correct letter is %c\n", answer);}

🍁4.完整代码


int main(void) {char character, position, answer, guess, c;int i, count=0;double duration;time_t start, end;srand((unsigned int) (time(0)));    // 随机种子start = time(NULL);    // 开始计时for (i=0; i<20; i++) {position = rand()%3+'0';    // 随机隐藏的位置0,1,2character = rand()%24+'A';  // 随机出现的第一个字母 A-Xprintf("----- Round %d -----\n", i+1);if (position == '0')  {answer = character;printf("? %c %c\n", character+1, character+2);} else if (position == '1') {answer = character + 1;printf("%c ? %c\n", character, character+2);} else if (position == '2') {answer = character + 2;printf("%c %c ?\n", character, character+1);}printf("Please enter the correct letter: ");guess = getchar();do {scanf("%c",&c);} while(c!='\n');if (answer == guess) {printf("Correct!\n");count++;} else {printf("Wrong! The correct letter is %c\n", answer);}} end = time(NULL);  // 停止计时duration = ((double)(end - start));printf("Win Ratio: %f %%\n", count*100/20.0);printf("Game Time: %f s\n", duration);return 0;
}
http://www.dinnco.com/news/3856.html

相关文章:

  • 英文网站建设需要准备什么推广网站的方法有哪些
  • 彩票网站搭建 做网站国外网站建设
  • 网站是怎么挣钱的b站推广
  • 企业网站做推广crm网站
  • 包头怎样做网站网络推广推广外包服务
  • 惠州网站开发公司电话百度seo优化怎么做
  • c2c网站的特点及主要功能东莞seo网络培训
  • 手机怎么自创网站流程优化
  • 怎么对网站标注做记号上海营销seo
  • 网站建设监理google搜索引擎入口网址
  • 服务器地址在哪里看保定百度seo排名
  • 网站建设 微盘谷歌搜索入口 镜像
  • wordpress适合做企业站网站友情链接怎么弄
  • 凡科做公司网站怎么收费营销与销售的区别
  • 网站的关键词库怎么做全网搜索指数
  • b2b网站大全前十名网站备案查询系统
  • 自己建网站做外贸扬州网络优化推广
  • 政府网站模板phpseo云优化方法
  • 库尔勒市建设路街道办网站优书网
  • cnu摄影官网青岛官网seo方法
  • 厦门区块链网站开发影视后期培训机构全国排名
  • wordpress企业建站教程 百度 下载app开发自学
  • 高端网页设计欣赏科技感潍坊seo计费
  • 衡阳退休职工做面膜网站广州市运营推广公司
  • 微信网站测试怎么做外链
  • 手机网站dedecms网站如何推广运营
  • 丹徒网站九江seo
  • 网站设计与开发实训心得深圳seo推广公司
  • 上海市建设协会网站谷歌官方网站注册
  • 湘潭市优化办公司seo是什么级别