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

网站建设 开票怎么投诉网站制作公司

网站建设 开票,怎么投诉网站制作公司,商城做网站好还是淘宝,手机网站免费制作编程实现一个游戏程序,会将连续三个字母中的一个隐去,由玩家填写隐去的那个字母,如屏幕上显示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.yayakq.cn/news/838154/

相关文章:

  • 鹤城建设集团网站阿里云服务器可以访问国外网站吗
  • 珠宝玉器监测网站建设方案WordPress推送到微信
  • 免费快速建站工具做网站都需要年服务费吗
  • 免费主机空间网站网站seo优化关键词
  • 企业网站建设对企业客户的意义轮网站开发的重要性
  • 东莞工业品网站建设私密浏览器看片大全免费直播
  • 网站域名解析错误怎么办网站怎样设计网址大全
  • 佛山移动网站设计佛山网站建设与设计公司
  • 建企业门户网站横沥东莞网站建设
  • 手机网站是什么seo排名课程咨询电话
  • 做App和网站 聚马报名网站制作
  • 西安煤炭建设监理中心网站外贸企业建网站
  • wordpress学校站模板网站建设怎么样找客户快
  • 建设银行面试通知网站画册排版设计模板
  • 手机网站开发技术路线杭州网页设计工作室
  • 刷网站排名 优帮云企业网站备案 淘宝客
  • 自己建设影视网站手机客户端app下载安装
  • jsp是否可以做网站网页设计基础考试题库及答案
  • 无障碍网站建设标准做网站合同模板
  • 怎样在工商局网站上做网登168义乌加工网
  • 厦门网站建设是什么dede网站开发步骤
  • 广州南沙网站建设商铺装修找谁
  • 藁城住房和城乡建设局网站泵网站建设
  • 关注济南网站建设企业网站建设因素分析
  • 济南做外贸的网站公司网站及微信建设是否涉及知识产权
  • 返利网站开发seo对网站的作用
  • 建设好网站能赚到钱吗?软件开发文档总结
  • 苏州市规划建设局网站上传了网站程序后
  • 四川成都网站建设网页制作设计作品
  • html5网站开发需要框架吗公司宣传册排版