首页 > 其他分享 >4.24打卡

4.24打卡

时间:2023-04-24 20:56:24浏览次数:36  
标签:13 ++ 黑桃 张牌 魔术师 printf 打卡 4.24

一、问题描述:

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

二、设计思路:

根据问题分析,使用循环结构来实现程序。使用程序将分析过程模拟出来,就可以计算出魔术师手中牌的原始次序。由于有13张牌,因此显然要循环13次,每次循环时找到与牌序号对应的那个空盒子,因此循环体完成的功能就是找到对应的空盒子将牌存入。
三、程序流程图

 

 

 

四、代码实现

#include<stdio.h>

int a[14];

main()

{

    int i,j=1,n;

    printf("魔术师手中的牌原始次序是:\n");

    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++)

    printf("%d",a[i]);

    printf("\n");

}

 

标签:13,++,黑桃,张牌,魔术师,printf,打卡,4.24
From: https://www.cnblogs.com/wanbeibei/p/17350876.html

相关文章

  • 打卡3
    人与学生设计一个类people,有保护数据成员:age(年龄,整型),name(姓名,string),行为成员:两个构造函数(一个默认,另一个有参数);默认析构函数;voidsetValue(intm,stringstr)给age和name赋值;voiddisplay()输出age和name。设计一个学生类student,公有继承类people,有私有成员:ID(学号,整......
  • 每日打卡
    #include<stdio.h>voidPrintN(intN);intmain(){intN;scanf_s("%d",&N);PrintN(N);return0;}voidPrintN(intN){for(inti=0;i<N;i++){printf("%d",i+1);if(i!=N-1)......
  • 第九天打卡
    问题: 算法设计:直接根据题意暴力写出源代码:#include<stdio.h>intmain(){ inta; doubleb=0.0; if(a<=3500) printf("不征收"); else { if(a>=3500&&a<=4500) { b=1500*0.03+(a-1500)*0.1; } if(a>=4500&&a<=9000) { b=1500*0.03+3......
  • 建民の每日打卡13
    一、问题描述 二、流程设计1.将数据存入数组2.当不满足“所有人一样多”的条件时,通过循环对数组中的每个元素进行判断并处理3.满足条件后输出结果三、流程图设计 四、代码实现#include<iostream>usingnamespacestd;intjudge(intc[]){ inti; for(i=0;i<10;i++) if......
  • 第八天打卡
    一、问题描述对N个整数(数据由键盘输入)进行升序排列。二、设计思路1.定义一个数组用来储存数据;2.对于数据进行每两个进行比较大小,小的往前走一位;3.两层循环嵌套,第一层控制循环次数,第二层进行比较。三、程序流程图四、代码实现 ......
  • 每天打卡一小时 第十五天 多态
    6-2【CPP0025】以点类Point及平面图形类Plane为基础设计圆类Circle分数 10全屏浏览题目切换布局作者 C++多态编程单位 石家庄铁道大学以点类Point及平面图形类Plane为基类公有派生圆类Circle,main(void)函数完成对其的测试。  设计思路 ......
  • 打卡1
    问题描述:编写用牛顿迭代法求方程根的函数。方程为ax^3+bx^2+cx+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后由主函数输出。牛顿迭代法的公式是:x=x0-f(x0)/f’(x0),设迭代到|x-x0|<=10^-5时结束。流程图: 伪代码:inputa,b,c,dx0<-1.1forvoidx<-x0-(a*x0......
  • 每日打卡一小时(第十五天)多态
    一.问题描述补充下列代码,使得程序的输出为:A:3A:15B:53155类和函数接口定义: 参见裁判测试程序样例中的类和函数接口。 裁判测试程序样例: #include<iostream>usingnamespacestd;classCMyClassA{intval;public:CMyClassA(int);voidvirtualprin......
  • 4.24 1.6
    一、问题描述 二、分析(1)在1附近找任一实数作为x0的初值x0=1.5(2)用初值x0代入方程中计算此时的f(x0)及导。程序中用变量f描述方程的值,用fd描述方程求导之后的值(3)计算增量h=ffd(4)计算下一个x,x=x0-h.(5)用新产生的x替换原来的x0(6)如果|x-xo|>=le-5,,则转到第(3)步,否则转到(7)(7)所求就是方程......
  • 打卡9
    折半查找#include<stdio.h>#defineN10intmain(){ inta[N]={-3,4,7,9,13,45,67,89,100,180},low=0,high=N-1,mid,k=-1,m; printf("a数组中的数据如下:\n"); for(inti=0;i<N;i++) printf("%d",a[i]); printf("\n"); printf("Ente......