c 语言基础:L1-044 稳赢

        大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

        现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。

输入格式:

        输入首先在第一行给出正整数K(≤10),即平局间隔的次数。随后每行给出对方的一次出招:ChuiZi代表“锤子”、JianDao代表“剪刀”、Bu代表“布”。End代表输入结束,这一行不要作为出招处理。

输出格式:

        对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。

输入样例:

2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End

输出样例:

Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu

程序源码:

#include <stdio.h>  // 引入C语言标准输入输出库  
#include <string.h> // 引入C语言字符串处理库  int main() { // main函数的定义,C语言程序的入口  int K, count = 0, i, count2 = 0; // 定义并初始化整数变量K、count和count2,其中count和count2初始值为0  char opponent_move[10001][9]; // 定义一个字符数组opponent_move,可以存储10001个长度为9的字符串  // 通过scanf函数从标准输入读取一个整数并存储在K中  scanf("%d", &K);   // 通过gets函数从标准输入读取一行字符串并存储在opponent_move数组的第一个元素中  gets(opponent_move[0]);  // 这是一个无限循环,用于读取对方的出招,直到输入"End"为止  while (1)  {  // 通过gets函数从标准输入读取一行字符串并存储在opponent_move数组的下一个元素中,同时将count2自增1  gets(opponent_move[count2++]);   // 如果最新读取的字符串是"End",则跳出循环  if (strcmp(opponent_move[count2 - 1], "End") == 0)   {  break;  }  }  // 这个循环用于根据自己和对方的出招来决定下一步的行动  for (int i = 0; i < count2 - 1; i++)  {  // 如果计数器count超过K,则将count重置为0并且打印opponent_move[i](即对方的出招)  if (++count > K)   {  count = 0;  printf("%s\n", opponent_move[i]);  }  // 如果还没到K次,则根据自己和对方的出招来决定下一步的行动  else   {  // 如果对方的出招是"ChuiZi",则自己的出招是"Bu"  if (strcmp(opponent_move[i], "ChuiZi") == 0)  printf("Bu\n");  // 如果对方的出招是"Bu",则自己的出招是"JianDao"  else if (strcmp(opponent_move[i], "Bu") == 0)  printf("JianDao\n");  // 如果对方的出招是"JianDao",则自己的出招是"ChuiZi"  else if (strcmp(opponent_move[i], "JianDao") == 0)  printf("ChuiZi\n");  }  }  return 0; // main函数返回0,表示程序正常结束  
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/140420.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电容笔好还是触屏笔好?便宜又好用的电容笔推荐

目前有哪些电容笔值得买&#xff1f;相比于之前的电容笔&#xff0c;现在的电容笔增加了很多新的特性功能&#xff0c;例如防误触、避免手指不小心触碰屏幕造成书写错误、笔画粗细可以自由调整等。苹果最初的Pencil现在售价一直高居不下。所以&#xff0c;如果你没有过多的预算…

【ArcGIS Pro二次开发】(71):添加图层名称和路径到字段

如题&#xff0c;这个工具的目的就是将图层的名称和路径添加到字段值中。 有时候图层的名称和路径也是重要的信息&#xff0c;需要参与到字段的计算或是分析中&#xff0c;但是Arcgis Pro中没有一个方便的方法可以将其写入字段值&#xff0c;因此&#xff0c;就做了这么一个小…

2023_Spark_实验十五:自定义法创建Dataframe及SQL操作

方式二&#xff1a;SQL方式操作 1.实例化SparkContext和SparkSession对象 2.创建case class Emp样例类&#xff0c;用于定义数据的结构信息 3.通过SparkContext对象读取文件&#xff0c;生成RDD[String] 4.将RDD[String]转换成RDD[Emp] 5.引入spark隐式转换函数&#xff08…

探索Java NIO:究竟在哪些领域能大显身手?揭秘原理、应用场景与官方示例代码

一、NIO简介 Java NIO&#xff08;New IO&#xff09;是Java SE 1.4引入的一个新的IO API&#xff0c;它提供了比传统IO更高效、更灵活的IO操作。与传统IO相比&#xff0c;Java NIO的优势在于它支持非阻塞IO和选择器&#xff08;Selector&#xff09;等特性&#xff0c;能够更…

Windows运维相关经验技巧

常用工具 在线PS Photoshop在线 FAQ 电脑能上网&#xff0c;浏览器上不了网 # 错误原因&#xff1a; 设置了网络代理&#xff0c;浏览器无法通过网络代理上网# 解决办法 关闭网络代理 &#xff08;1&#xff09;wini&#xff0c;打开设置 &#xff08;2&#xff09;网络和I…

LabVIEW建立生产者消费者

LabVIEW建立生产者消费者 生产者/消费者设计模式由并行循环组成&#xff0c;这些循环分为两类&#xff1a;生产者循环和消费者循环。生产者循环和消费者循环间的通信可以使用队列或通道连线来实现。 队列 LabVIEW内置的队列操作VI可在函数选板>>数据通信>>队列操…

RK3588开发笔记(二):基于方案商提供sdk搭建引入mpp和sdk的宿主机交叉编译Qt5.12.10环境

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/133915614 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

【周末闲谈】VR新视界,“眼”见未来

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言&#xff0c;模仿还是超越&#xff1f; ✨第二周 畅想AR 文章目录 系列目录前言虚拟现实(VR)技术虚拟现实技术的原理虚拟现实技术发…

如何绕过api的防重放做安全测试

一、问题引入&#xff1a;api接口测试&#xff0c;会检测请求头中的nonce参数的值&#xff0c;每次请求的值必须不同&#xff0c;否则发包失败 笔者在进行api接口的测试时&#xff08;因为菜没有工具&#xff0c;只能另辟蹊跷&#xff09;&#xff0c;使用postmanxray进行安全测…

Excel文件带有密码的只读模式,如何设置?

Excel带有密码的除了打开密码和工作表保护以外&#xff0c;其实还有一种可以设置密码的方法&#xff0c;今天给大家分享如何设置带有密码的只读模式。 打开excel文件&#xff0c;将文件进行【另存为】设置&#xff0c;然后停留在保存路径的界面中&#xff0c;我们点击下面的工…

计算机网络第2章-CDN(4)

视频流和内容分发网 HTTP流和DASH 在HTTP流中&#xff0c;视频只是存储在HTTP服务器中作为一个普通的文件&#xff0c;每个文件有有一个特定的URL。当用户要看视频时&#xff0c;客户与服务器之间创建一个TCP连接并发送HTTP GET请求。 HTTP流具有严重缺陷&#xff0c;即所有…

笔记本触摸板没反应?实用技巧助你成功修复!

笔记本电脑是我们日常工作和学习的得力工具之一&#xff0c;而触摸板作为一个重要的输入设备&#xff0c;对于操作的流畅性至关重要。然而&#xff0c;有时候我们可能会遇到笔记本触摸板没反应的问题&#xff0c;这可能会导致困扰和不便。本文将介绍解决笔记本触摸板无响应问题…