标题:程序要求是数字和字母一起,我只会数字的,求助一下!!!!
只看楼主
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
结帖率:78.13%
已结贴  问题点数:5 回复次数:9 
程序要求是数字和字母一起,我只会数字的,求助一下!!!!


小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。魔术的内容是这样的:

    他手里握着一叠扑克牌:A,2,....J,Q,K 一共13张。他先自己精心设计它们的顺序,然后正面朝下拿着,开始表演。

    只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是A;然后再从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是2;......如此循环直到手中只有一张牌,翻开放桌子上,刚好是K。

    这时,桌上牌的顺序是:A,2,3,4,5,6,7,8,9,10,J,Q,K

    请你计算一下,小明最开始的时候手里牌的顺序是怎样的。

把结果写出来,逗号分割,小明“魔术”开始时,最下面的那张牌输出为第一个数据。
#include <stdio.h>
main()
{
     int a[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};
     int b[14]={0};
     int i,t,j,t1,k=12;
     int s=1;
     for(i=1;i<=26;i++)
        {
           if(i%2!=0)
             {
                t=a[0];
                 for(j=1;j<=k;j++)
                   {
                     a[j-1]=a[j];
                    }
                 a[k]=t;
              }
            else
              {
                 t1=a[0];
                 for(j=1;j<=k;j++)
                   {
                      a[j-1]=a[j];
                    }
                 b[t1]=s;
                 s=s+1;
                 k=k-1;
                 if(k==1)
                   {
                      t1=a[1];
                      b[t1]=s;
                    }
                }
           }
              for(i=1;i<=13;i++)
                 {
                    printf("%d\n",b[i]);
                  }
}
搜索更多相关主题的帖子: 扑克牌 字母 魔术 桌子 
2013-01-03 21:29
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
试行了一下,貌似结果不对呀。。

至于字母,楼主加个判断输出不就行了?


[fly]存在即是合理[/fly]
2013-01-03 21:45
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
得分:0 
结果是对的吧,就是把字母换成了数字,谁会改啊???
2013-01-03 21:53
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:5 
也许我没看懂题吧。。。

字母这样输出:
程序代码:
for(i=1;i<=13;i++)
{
    switch(b[i])
    {
    case 1:
        printf("A\n");break; 
    case 11:
        printf("J\n");break;
    case 12:
        printf("Q\n");break;
    case 13:
        printf("K\n");break;
    default:
        printf("%d\n", b[i]);
    }
    printf("%d\n",b[i]);
}


[ 本帖最后由 azzbcc 于 2013-1-3 22:24 编辑 ]


[fly]存在即是合理[/fly]
2013-01-03 22:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
回复 4楼 azzbcc
知道数据结构是怎么用的吗?呵呵~

授人以渔,不授人以鱼。
2013-01-03 22:35
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:0 
数据结构。。。。。。

我连题意都没懂,就不瞎写了。

链表处理确实简单呢。


[fly]存在即是合理[/fly]
2013-01-03 22:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
设计一个牌的数据类型呀:
struct Card
{
    int number;        // 牌号
    char ch;           // 显示字符
};
想象ASCII字符是什么原理就知道了!

授人以渔,不授人以鱼。
2013-01-03 22:44
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
得分:0 
OK
你写的字母输出多一句
for(i=1;i<=13;i++)
 {
     switch(b[i])
     {
     case 1:
         printf("A\n");break;
    case 11:
         printf("J\n");break;
     case 12:
         printf("Q\n");break;
     case 13:
         printf("K\n");break;
     default:
         printf("%d\n", b[i]);
     }
    // printf("%d\n",b[i]);
 }
2013-01-03 22:44
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
得分:0 
数据结构刚找好资料打算学,现在是小白。。
2013-01-03 22:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
数据结构并不是只有链表!关键是如何构造数据。

授人以渔,不授人以鱼。
2013-01-03 22:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-394928-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.106495 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved