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

.org做商业网站做服务网站要多少钱

.org做商业网站,做服务网站要多少钱,网站广告推广技巧分享,一般使用的分辨率的显示密度是()题目描述 石头剪刀布游戏有 3 种出拳形状#xff1a;石头、剪刀、布。分别用字母 A , B , C 表示。 游戏规则: 出拳形状之间的胜负规则如下#xff1a; A B#xff1b;B C#xff1b;C A#xff1b;左边一个字母#xff0c;表示相对优…题目描述 石头剪刀布游戏有 3 种出拳形状石头、剪刀、布。分别用字母 A , B , C 表示。 游戏规则: 出拳形状之间的胜负规则如下 A BB CC A左边一个字母表示相对优势形状。右边一个字母表示相对劣势形状。 当本场次中有且仅有一种出拳形状优于其它出拳形状则该形状的玩家是胜利者。否则认为是平局。 当发生平局没有赢家。有多个胜利者时同为赢家。 例如 1 三个玩家出拳分别是A, B, C 由于出现三方优势循环(即没有任何一方优于其它出拳者)判断为平局。例如 2 两个玩家出拳分别是 A, B 出拳 A 的获胜。例如 3 三个玩家出拳全部是 A 判为平局。 输入描述 在一场游戏中每个玩家的信息为一行。玩家数量不超过 1000 。每个玩家信息有 2 个字段用空格隔开 玩家 ID一个仅由英文字母和数字组成的字符串 出拳形状以英文大写字母表示, A 、B 、C 形状。 例 abc1 A xyz B 12 输出描述 输出为赢家的玩家 ID 列表(一个或多个)每个 ID 一行按字符串升序排列。如果没有赢家输出为NULL字符串。例如 abc1用例1 输入 abc1 A xyz B输出 abc1说明 A比B有优势abc1 胜出 用例2 输入 abc1 A xyz A输出 NULL说明 没有优胜的出拳形状平局 用例3 输入 abc1 A def A alic A xyz B输出 abc1 alic def说明 A为优胜方有三个赢家 思路 解题思路如下 读取输入通过 scanf 函数逐行读取每个玩家的 ID 和出拳形状存储在 Player 结构体数组中并记录有效玩家数量即 count 变量。 统计各出拳形状的数量遍历 Player 结构体数组分别计算出拳为 ‘A’、‘B’ 和 ‘C’ 的玩家数量countA、countB、countC。 判断游戏结果 检查是否存在三种出拳形状都出现的情况且没有任何一种形状的数量大于另一种形状这种情况表示平局输出 “NULL”。检查是否存在某一种形状的所有玩家都选择同一种出拳这也是一种平局情况同样输出 “NULL”。 确定赢家 根据前面统计得到的 countA、countB、countC检查是否有某种形状不存在即数量为 0若有从另外两个形状中选择赢家并输出对应出拳形状的赢家玩家ID。 通过以上步骤程序即可根据石头剪刀布的游戏规则正确解析输入信息并输出赢家列表。 代码 // 石头剪刀布游戏代码实现 #include stdio.h #include stdlib.h #include string.h// 定义玩家结构体包含玩家IDname和出拳形状play typedef struct {char name[10]; // 玩家ID由英文字母和数字组成最大长度为9个字符char play; // 玩家出拳形状用英文大写字母A、B或C表示石头、剪刀、布 } Player;int main() {// 初始化一个可存储100个玩家信息的数组Player player[100];int count 0; // 记录有效输入玩家的数量// 读取玩家输入直到文件结束符EOFwhile (scanf(%s %c, player[count].name, player[count].play) ! EOF) {count; // 每成功读取一组玩家信息计数器加1}// 统计各出拳形状的数量int countA 0, countB 0, countC 0;for (int i 0; i count; i) {if (player[i].play A) {countA;}if (player[i].play B) {countB;}if (player[i].play C) {countC;}}// 判断游戏结果// 1. 如果三种出拳形状都出现并且没有一种形状数量大于另一种形状则平局// 2. 如果某一种形状的数量等于总玩家数则也是平局if ((countA 0 countB 0 countC 0) ||(countA count || countB count || countC count)) {printf(NULL\n); // 输出“NULL”表示没有赢家return 0;}// 根据剩余形状确定赢家if (countA 0) { // 剩余B和C说明B是赢家for (int i 0; i count; i) {if (player[i].play B) {printf(%s\n, player[i].name); // 输出赢家ID}}}if (countB 0) { // 剩余A和C说明C是赢家for (int i 0; i count; i) {if (player[i].play C) {printf(%s\n, player[i].name); // 输出赢家ID}}}if (countC 0) { // 剩余A和B说明A是赢家for (int i 0; i count; i) {if (player[i].play A) {printf(%s\n, player[i].name); // 输出赢家ID}}}return 0; }注意 1、scanf的返回值 scanf() 是 C 语言中用于从标准输入读取数据的标准库函数它根据指定的格式字符串从 stdin通常为键盘读取并解析输入的数据。scanf() 函数返回一个整数值该值表示成功读取和转换的参数个数。 以下是 scanf() 返回值的详细说明 成功读取与转换 当 scanf() 成功读取并转换了与格式化字符串中相应格式说明符匹配的数据时它会返回读取成功的变量或字段的数量。例如如果你有 scanf(%d %f, num, flt); 并且用户正确地输入了一个整数和一个浮点数scanf() 将返回2因为两个变量都成功读取。 部分成功 如果格式化字符串中有多个占位符但只有一部分被成功读取则返回值是成功读取的参数个数。如 scanf(%d%d, a, b); 用户仅输入了一个整数那么 scanf() 将返回1表示成功读取了一个整数第二个变量没有被赋值。 失败与错误 当 scanf() 遇到无法转换的数据、到达文件末尾EOF、或者发生其他错误时它将返回0。若遇到非法输入或预期类型与实际输入不符的情况后续的输入项将不会被读取并且整个函数调用将立即终止。在读取过程中如果碰到 EOF End Of File在Unix/Linux系统下通常是通过按下组合键CtrlD在Windows系统下通常是按下CtrlZ然后回车来模拟的此时 scanf() 的返回值可能为EOF通常定义为-1具体取决于编译器实现。 缓冲区问题与安全 注意由于 scanf() 不清除输入流中的未处理字符所以连续调用 scanf() 可能导致意外结果尤其是在处理用户输入时应特别小心考虑使用 fgets() 结合 sscanf() 或其他更安全的方式来读取和解析输入。 总结来说scanf() 的返回值是一个非常重要的信息它可以用来判断读取操作是否按预期完成以及有多少个变量成功接收到了有效的输入数据。开发人员应当始终检查 scanf() 的返回值以确保程序正确处理所有可能的输入情况。
http://www.hkea.cn/news/14508376/

相关文章:

  • 怎么让人理解网站建设如何制作购物网页
  • 网站建设需注意的网站开发用户需求分析
  • 域名建网站宿州网站建设费用
  • 整站优化要多少钱升级wordpress ftp
  • 中国国建设监理协会网站免费登记照制作app
  • 网站公司排行榜免费学平面设计的网站
  • 建设一个网站要花多少时间庞各庄网站建设
  • 网站建设功能说明书网站建设尾款放在什么科目里
  • 大庆医院网站建设如何建立一个网站链接的文档
  • 深圳百度推广网站建设企业网站设计推荐
  • 综合网站开发实训总结小江网站建设
  • 网站背景图片自动切换小程序推广赚佣金平台
  • 软件开发商网站上海小程序服务商
  • 网站宜昌做网站毕设答辩问题
  • 网站建设是自学好还是上海好的高端网站建
  • 网站网页的收录数量营销网站建设培训
  • 网站开发 方案 报价wordpress固定链接后404
  • 什么网站做弹窗广告好中国十大公关公司排名
  • 化工设计网站品牌建设和市场营销的区别
  • 洛阳市网站建设管理企业网站功能是什么
  • 淘宝店铺做网站收录网站案例网站建设
  • qq直接登录网站无需下载wordpress插件加密
  • 青岛西海岸新区建设网站做视频素材网站
  • 网站开发常用的开发工具wordpress 嵌入iframe
  • 晨光科技+网站建设自适应网页模板建站
  • c .net怎么做网站wordpress 重新设置密码
  • 做网站要不要签合同网站制作过程教程
  • 怎么做购物微信网站网站流量和带宽
  • 北京系统开发网站建设土木工程毕业设计网站
  • 网站建设运行工作情况总结wordpress onethink