混乱C大赛代码解析

转自:http://blog.csdn.net/meteor135/

 

///
//
// bible.c
//
// smith_135@163.com
// QQ:58101543
// 2004.7.10
// copyright (c) meteor135
// version 1.0
//
///

/*
#include <stdio.h>
main(t,_,a)char*a;{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a))
:1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?main(2,_+1,"%s %d %d/n"):9 :
16 :t<0?t<-72?main(_,t,
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#/
;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l /
q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# /
){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' /
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlw]!/*de}'c /
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# /
}'+}##(!!/"):t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):
main((*a=='/')+t,_,a+1):0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,
"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:/nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
*/

///
//"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:/nuwloca-O;m .vpbks,fxntdCeghiry";
// !-------------------------------!
///

///
//
// @n'+,#'
// on the
//---------------------------------------------------------------------
// /*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+,/+#n+,/#;#q#n+,/+k#;*+,/
//  first second third fourth fifth sixth seventh eighth ninth tenth eleventh twelfth
//---------------------------------------------------------------------
//  'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!
//   day of Christmas my true love gave to me
//---------------------------------------------------------------------
// /+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){nl]!
//  twelve drummers drumming,  eleven pipers piping,  ten lords a-leaping,
//---------------------------------------------------------------------
// /n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' iwk{KK{nl]!
//  nine ladies dancing,  eight maids a-milking,  seven swans a-swimming,
//---------------------------------------------------------------------
// /w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlw]!
//  six geese a-laying,  five gold rings,
//---------------------------------------------------------------------
// /*de}'c ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w!
//  four calling birds,  three french hens,  two turtle doves
//---------------------------------------------------------------------
//   nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/
//  and  a partridge in a pear tree.
//
///

#include <stdio.h>

#ifdef __TURBOC__
#include <conio.h>
#endif

#define END_DAY     12
#define START_DAY    1

#if !(START_DAY>0&&END_DAY<=12&&START_DAY<=END_DAY)
    #error "error! START_DAY or END_DAY is not in range!"
#endif

const int START_DELIMITERS   =  0;
const int NUMBERS_DELIMITERS = 13;
const int GIFTS_DELIMITERS   = 13;

const char * decodeTbl=
"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:/nuwloca-O;m .vpbks,fxntdCeghiry";
const char * cryptograph=
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#/
;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l /
q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# /
){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' /
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlw]!/*de}'c /
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# /
}'+}##(!!/";

void decodeAndPrint(int d)
{
    const char *pc = cryptograph;

    while (d < 0)
    {
        if (*pc++ == '/')
        {
            d++;
        }
    }

    while (*pc != '/')
    {
        const char *p = decodeTbl;
        while (*p != *pc) p++;
        putchar(p[31]);
        pc++;
    }
}

void start()
{
    decodeAndPrint( - START_DELIMITERS );
}

void number(int n)
{
    decodeAndPrint( - (START_DELIMITERS+n) );
}

void dayToMe()
{
    decodeAndPrint( - (START_DELIMITERS+NUMBERS_DELIMITERS) );
}

void gift(int g)
{
    decodeAndPrint( g - (START_DELIMITERS+NUMBERS_DELIMITERS+GIFTS_DELIMITERS) );
}

void gifts(int g, int n)
{
    if (g < n)
        gifts(g + 1, n);
    if (g > 0)
        gift(g);
}

void printBible(int n)
{
#ifdef __TURBOC__
    static int temp = 0;
    if(++temp%5==0)
        getch();
#endif
    start();
    number(n);
    dayToMe();
    gifts(1, n);
    if( n < END_DAY)
        printBible(n + 1);
}

void main()
{
#ifdef __TURBOC__
    clrscr();
#endif
    printBible(START_DAY);
#ifdef __TURBOC__
    getch();
#endif
}

/*
On the first day of Christmas my true love gave to me
a partridge in a pear tree.

On the second day of Christmas my true love gave to me
two turtle doves
and a partridge in a pear tree.

On the third day of Christmas my true love gave to me
three french hens, two turtle doves
and a partridge in a pear tree.

On the fourth day of Christmas my true love gave to me
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the fifth day of Christmas my true love gave to me
five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the sixth day of Christmas my true love gave to me
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the seventh day of Christmas my true love gave to me
seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the eigth day of Christmas my true love gave to me
eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the ninth day of Christmas my true love gave to me
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the tenth day of Christmas my true love gave to me
ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the eleventh day of Christmas my true love gave to me
eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.

On the twelfth day of Christmas my true love gave to me
twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
nine ladies dancing, eight maids a-milking, seven swans a-swimming,
six geese a-laying, five gold rings;
four calling birds, three french hens, two turtle doves
and a partridge in a pear tree.
*/

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值