首页 > 编程语言 >c++打卡练习(18)

c++打卡练习(18)

时间:2023-04-27 20:55:35浏览次数:31  
标签:13 cout int 18 魔术师 c++ ++ 黑桃 打卡

猜牌术

魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,并使牌面朝下。然
后他对观众说:我不看牌,只要数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看,魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,他将黑桃A放在桌子上,然后按顺序从上到下数手中的余牌,第二次数1、2,将第一张牌放在这迭牌的下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数1、2、3,将前面两张依次放在这迭牌的下面,再翻第三张牌正好是黑桃3,这样依次进行,将13张牌全部翻出来,准确无误。问魔术师手中的牌原始次序是怎样安排的?

流程图:

伪代码:

源代码:

#include<iostream>
using namespace std;
int a[14];
int main(){
int i,j=1,n;
cout<<"魔术师手中牌的原始次序为:\n"<<endl;
for(i=1;i<=13;i++){
n=1;
do{
if(j>13)
j=1;
if(a[j])
j++;
else{
if(n==i)
a[j]=i;
j++;
n++;
}
}while(n<=i);
}
for(i=1;i<=13;i++)
cout<<a[i]<<endl;
cout<<"\n"<<endl;
}

 

标签:13,cout,int,18,魔术师,c++,++,黑桃,打卡
From: https://www.cnblogs.com/HD-Kudu-2219/p/17360185.html

相关文章

  • 4月27日打卡
    美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3≤N≤21)和......
  • 2023.4.27编程一小时打卡
    一、问题描述:建立一个向量容器的实例s,不断对s调用push_back向其中增加新的元素,观察在此过程中s.capacity()的变化。二、解题思路:首先,编写一个向量容器vector<int>s,利用循环对其进行不断调用push_back,再输出它的capacity()函数观察它向量容器的容量的变化。三、代码实现:1#in......
  • 【题解】P4363 [九省联考 2018] 一双木棋 chess
    原题链接题目描述菲菲和牛牛在一块\(n\)行\(m\)列的棋盘上下棋,菲菲执黑棋先手,牛牛执白棋后手。棋局开始时,棋盘上没有任何棋子,两人轮流在格子上落子,直到填满棋盘时结束。落子的规则是:一个格子可以落子当且仅当这个格子内没有棋子且这个格子的左侧及上方的所有格子内都有棋......
  • c/c++程序中获取当前可执行文件所在的目录路径,使用跨平台的program_location
    c/c++程序中获取当前可执行文件所在的目录路径对于大型工程中,可执行文件中通过c/c++代码获取到当前路径,可以很大方便于工程后续的部署与运维工作。比如说根据当前的可执行文件路径获取到配置文件的路径,然后加载读取配置文件。有了这个能力就不用再在操作系统中配置环境变量来指......
  • C++
    狗的继承完成两个类,一个类Animal,表示动物类,有一个成员表示年龄。一个类Dog,继承自Animal,有一个新的数据成员表示颜色,合理设计这两个类,使得测试程序可以运行并得到正确的结果。 #include<iostream>usingnamespacestd;classAnimal{public:Animal(inty)......
  • day 18 猜牌
      1.申明一个计数数组a与一个判断数组t;2.进行13次循环;3.当满足条件时,对a的一个元素赋值,并更改t;4.输出a;  #include<iostream>usingnamespacestd;intj=1; intmain(){ inta[14],flag[14]={0}; printf("牌的排列为:\n"); for(inti=1;i<14;i++){  f......
  • 周四打卡
    题目描述:编写一个程序,实现将用户输入的字符串中的所有空格替换为下划线的功能。例如,输入字符串"Thequickbrownfoxjumpsoverthelazydog",输出结果为"The_quick_brown_fox_jumps_over_the_lazy_dog"。设计思路:接收用户输入的字符串。遍历字符串中的每个字符,如果是空格......
  • c++引用折叠
    目录 一、引用折叠二、示例解析三、参考: 一、引用折叠   由于存在T&&这种万能引用类型,当它作为参数时,有可能被一个左值引用或右值引用的参数初始化,这是经过类型推导的T&&类型,相比右值引用(&&)会发生类型的变化,这种变化就称为引用折叠。1.所有右值引用折叠到右值引......
  • [C++11]左值、右值、左值引用、右值引用小结
     左值和右值左值:指表达式结束后依然存在的持久对象,可以取地址,具名变量或对象右值:表达式结束后就不再存在的临时对象,不可以取地址,没有名字。比如inta=b+c;,a就是一个左值,可以对a取地址,而b+c就是一个右值,对表达式b+c取地址会报错。C++11中右值又由两个概念组成:将亡值和纯......
  • C++ inline
    在C++中,inline关键字用于建议编译器将函数内联到调用它的地方。内联函数是一种优化技术,可以减少函数调用的开销。当一个函数被声明为内联时,编译器会尝试将函数的代码直接嵌入到每个调用该函数的地方,从而避免了函数调用时产生的额外开销,如保存寄存器、设置栈帧等。需要注意的是,inl......