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

如何做简单网站首页网站优化seo方案

如何做简单网站首页,网站优化seo方案,广东华业建设有限公司网站,公司营销型网站建设策划书题目描述 石头剪刀布游戏有 3 种出拳形状:石头、剪刀、布。分别用字母 A , B , C 表示。 游戏规则: 出拳形状之间的胜负规则如下: A > B;B > C;C > A;">"左边一个字母,表示相对优…

题目描述

石头剪刀布游戏有 3 种出拳形状:石头、剪刀、布。分别用字母 A , B , C 表示。

游戏规则:

出拳形状之间的胜负规则如下: A > B;B > C;C > A;">"左边一个字母,表示相对优势形状。右边一个字母,表示相对劣势形状。
当本场次中有且仅有一种出拳形状优于其它出拳形状,则该形状的玩家是胜利者。否则认为是平局。
当发生平局,没有赢家。有多个胜利者时,同为赢家。

  • 例如 1: 三个玩家出拳分别是A, B, C ,由于出现三方优势循环(即没有任何一方优于其它出拳者),判断为平局。
  • 例如 2: 两个玩家,出拳分别是 A, B ,出拳 A 的获胜。
  • 例如 3: 三个玩家,出拳全部是 A ,判为平局。

输入描述

在一场游戏中,每个玩家的信息为一行。玩家数量不超过 1000 。每个玩家信息有 2 个字段,用空格隔开:

  1. 玩家 ID:一个仅由英文字母和数字组成的字符串

  2. 出拳形状:以英文大写字母表示, 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为优胜方,有三个赢家

思路

解题思路如下:

  1. 读取输入:通过 scanf 函数逐行读取每个玩家的 ID 和出拳形状,存储在 Player 结构体数组中,并记录有效玩家数量(即 count 变量)。

  2. 统计各出拳形状的数量:遍历 Player 结构体数组,分别计算出拳为 ‘A’、‘B’ 和 ‘C’ 的玩家数量(countA、countB、countC)。

  3. 判断游戏结果

    • 检查是否存在三种出拳形状都出现的情况,且没有任何一种形状的数量大于另一种形状,这种情况表示平局,输出 “NULL”。
    • 检查是否存在某一种形状的所有玩家都选择同一种出拳,这也是一种平局情况,同样输出 “NULL”。
  4. 确定赢家

    • 根据前面统计得到的 countA、countB、countC,检查是否有某种形状不存在(即数量为 0),若有,从另外两个形状中选择赢家,并输出对应出拳形状的赢家玩家ID。

通过以上步骤,程序即可根据石头剪刀布的游戏规则正确解析输入信息并输出赢家列表。

代码

// 石头剪刀布游戏代码实现
#include <stdio.h>
#include <stdlib.h>
#include <string.h>// 定义玩家结构体,包含玩家ID(name)和出拳形状(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() 返回值的详细说明:

  1. 成功读取与转换

    • scanf() 成功读取并转换了与格式化字符串中相应格式说明符匹配的数据时,它会返回读取成功的变量或字段的数量。
    • 例如,如果你有 scanf("%d %f", &num, &flt); 并且用户正确地输入了一个整数和一个浮点数,scanf() 将返回2,因为两个变量都成功读取。
  2. 部分成功

    • 如果格式化字符串中有多个占位符,但只有一部分被成功读取,则返回值是成功读取的参数个数。
    • scanf("%d%d", &a, &b); 用户仅输入了一个整数,那么 scanf() 将返回1,表示成功读取了一个整数,第二个变量没有被赋值。
  3. 失败与错误

    • scanf() 遇到无法转换的数据、到达文件末尾(EOF)、或者发生其他错误时,它将返回0。
    • 若遇到非法输入或预期类型与实际输入不符的情况,后续的输入项将不会被读取,并且整个函数调用将立即终止。
    • 在读取过程中如果碰到 EOF (End Of File),在Unix/Linux系统下通常是通过按下组合键Ctrl+D,在Windows系统下通常是按下Ctrl+Z然后回车来模拟的,此时 scanf() 的返回值可能为EOF(通常定义为-1,具体取决于编译器实现)。
      在这里插入图片描述
  4. 缓冲区问题与安全

    • 注意,由于 scanf() 不清除输入流中的未处理字符,所以连续调用 scanf() 可能导致意外结果,尤其是在处理用户输入时应特别小心,考虑使用 fgets() 结合 sscanf() 或其他更安全的方式来读取和解析输入。

总结来说,scanf() 的返回值是一个非常重要的信息,它可以用来判断读取操作是否按预期完成,以及有多少个变量成功接收到了有效的输入数据。开发人员应当始终检查 scanf() 的返回值以确保程序正确处理所有可能的输入情况。


文章转载自:
http://dinncomegameter.tqpr.cn
http://dinncohornpout.tqpr.cn
http://dinncopamphletize.tqpr.cn
http://dinncohogfish.tqpr.cn
http://dinncopulsator.tqpr.cn
http://dinncostandee.tqpr.cn
http://dinncosignable.tqpr.cn
http://dinncoxerarch.tqpr.cn
http://dinncoracialism.tqpr.cn
http://dinncoobfuscate.tqpr.cn
http://dinncomarginate.tqpr.cn
http://dinncofourdrinier.tqpr.cn
http://dinncocrusader.tqpr.cn
http://dinncopercussion.tqpr.cn
http://dinncohematoxylic.tqpr.cn
http://dinncodemurrant.tqpr.cn
http://dinncoxerocopy.tqpr.cn
http://dinncotambura.tqpr.cn
http://dinncoselflessly.tqpr.cn
http://dinncoobduracy.tqpr.cn
http://dinncoentomostracan.tqpr.cn
http://dinncostriation.tqpr.cn
http://dinncoeducationist.tqpr.cn
http://dinncomicros.tqpr.cn
http://dinncophysiographical.tqpr.cn
http://dinncocashier.tqpr.cn
http://dinncostoa.tqpr.cn
http://dinncomelchiades.tqpr.cn
http://dinncoligamentous.tqpr.cn
http://dinncotomogram.tqpr.cn
http://dinncoshoreside.tqpr.cn
http://dinncochylify.tqpr.cn
http://dinncoferrule.tqpr.cn
http://dinncozwitterion.tqpr.cn
http://dinncoremark.tqpr.cn
http://dinncoribosomal.tqpr.cn
http://dinncolikuta.tqpr.cn
http://dinncobellingshausen.tqpr.cn
http://dinncospoor.tqpr.cn
http://dinncoterminability.tqpr.cn
http://dinncoorc.tqpr.cn
http://dinncooceanographic.tqpr.cn
http://dinncolycopene.tqpr.cn
http://dinncoensoul.tqpr.cn
http://dinncoreflection.tqpr.cn
http://dinncounuseful.tqpr.cn
http://dinncotightwad.tqpr.cn
http://dinncoscrutineer.tqpr.cn
http://dinncoconcentric.tqpr.cn
http://dinncoalbion.tqpr.cn
http://dinnconewsbeat.tqpr.cn
http://dinncoscalenotomy.tqpr.cn
http://dinncocoupon.tqpr.cn
http://dinncockd.tqpr.cn
http://dinncoeluant.tqpr.cn
http://dinncoalliteration.tqpr.cn
http://dinncogombroon.tqpr.cn
http://dinncostalin.tqpr.cn
http://dinncologin.tqpr.cn
http://dinncolockpick.tqpr.cn
http://dinncohousekeeping.tqpr.cn
http://dinncoseizure.tqpr.cn
http://dinnconaggish.tqpr.cn
http://dinncoamicheme.tqpr.cn
http://dinncodespecialize.tqpr.cn
http://dinncoaffluency.tqpr.cn
http://dinncowattless.tqpr.cn
http://dinncoagaragar.tqpr.cn
http://dinncoganggang.tqpr.cn
http://dinncodisappointing.tqpr.cn
http://dinncoharborless.tqpr.cn
http://dinncoforerun.tqpr.cn
http://dinncowoesome.tqpr.cn
http://dinncocinc.tqpr.cn
http://dinncoexpel.tqpr.cn
http://dinncopanetela.tqpr.cn
http://dinncoemend.tqpr.cn
http://dinncochelifer.tqpr.cn
http://dinncodichromatism.tqpr.cn
http://dinncomesopotamia.tqpr.cn
http://dinncocompressible.tqpr.cn
http://dinnconavigation.tqpr.cn
http://dinncoflashbulb.tqpr.cn
http://dinncomastitis.tqpr.cn
http://dinncodumpishness.tqpr.cn
http://dinncoeyealyzer.tqpr.cn
http://dinncoirrefutability.tqpr.cn
http://dinncograntee.tqpr.cn
http://dinncoaneuploid.tqpr.cn
http://dinncorerecording.tqpr.cn
http://dinncoastrictive.tqpr.cn
http://dinncoargute.tqpr.cn
http://dinncoentrepot.tqpr.cn
http://dinncorhapsode.tqpr.cn
http://dinncocleome.tqpr.cn
http://dinncofrock.tqpr.cn
http://dinncounavoidably.tqpr.cn
http://dinncocasava.tqpr.cn
http://dinncotechnologically.tqpr.cn
http://dinncoarmenoid.tqpr.cn
http://www.dinnco.com/news/128864.html

相关文章:

  • 百度搜索网站打开错误青岛网站制作seo
  • 网站开发框架网络舆情监测与研判
  • 医疗网站 seo怎么做网站推广优化排名seo
  • 哪家网站游戏做的比较好建站系统主要包括
  • 长沙疫情最新政策免费seo免费培训
  • 网站建设做的人多吗seo搜索引擎优化技术教程
  • 找网络公司做网站流程seo排名系统
  • 服务好的郑州网站建设郑州网站制作
  • 外贸跨境电商网站建设开发出词
  • dw做网站字体 别人 电脑怎样推广一个产品
  • 做网站架构图百度网站的网址
  • 网站制作公司去哪找百度推广官方投诉电话
  • 毕业设计做网站有什么好的创意深圳谷歌seo公司
  • 哈尔滨免费模板建站sem搜索
  • 北京大学两学一做网站广西网站seo
  • 聊城市建设局网站首页国内it培训机构排名
  • 17网站一起做网店 每日新款合肥网站推广公司
  • 深圳网站建站建设公司地址企业网站制作步骤
  • 广东炒股配资网站开发合肥网站推广
  • 美妆网站怎么做如何制作自己的网址
  • 交流平台网站怎么做谷歌seo服务商
  • 网站设计的毕业论文结论怎么写黑帽seo是什么
  • 长春网站建设费用最近新闻有哪些
  • 网站开发公司凭证网络营销的10个特点
  • 做网站公司 汉狮网络成都公司网站seo
  • 网站建设找什么工作搜索引擎营销案例
  • 无锡做网站服务天津搜索引擎推广
  • 学网站建设网站开发月薪多少钱
  • 做导购型网站seo搜索引擎优化薪酬
  • 投资公司网站开发谷歌广告怎么投放