青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

變態的C語言程序【轉】


主要是是像大家展示了一些C語言的變態玩法。也向大家展示了一下程序是可以寫得讓人看不懂的,在那篇文章中,可以看到很多人的留言,很多人都覺得很好玩,是的,那本來是用來供朋友們“消遣作樂”,供娛樂娛東而已,不必太過認真。

 

不過,通過這種極端的寫法,大家可以看到源代碼都可以寫得那么復雜難懂的。大家也許在贊嘆之余一笑了之,而我則希望,大家能夠在娛樂以后認真思考一下,你不要以為咱們自己不會把代碼搞得那么復雜,只不過沒有像那6個Hello World一樣那么極端,不過,說句老實話,咱們每個程序都有把清晰的程序搞得一團混亂的潛能,只不過程度不一樣罷了,我并不是在這里危言聳聽,大家好自為之。

 

下面是一個Step by Step的教程,教你如何把一個清晰的代碼變得復雜難懂的。當然,這只是一個“簡明教程”了。還是那句話——“本文僅供朋友們“消遣作樂”,如果你要覺得有意思的話,頂個貼。如果你覺得沒什么意思的話,一笑了之。僅供娛樂而已,不必太過認真。”

正常程序
下面是一個找出素數的程序:

void primes(int cap)
{
    int i, j, composite;

    for(i = 2; i < cap; ++i) {
        composite = 0;
        for(j = 2; j * j < i; ++j) {
            composite += !(i % j);
        }
        if(!composite){
            printf("%d\t", i);
        }
    }
}

int main()
{
    primes(100);
}
下面我們來看看如何把上面這段代碼搞得復雜難懂。

第一步、把for變成while
通常來說,for循壞要以while循壞簡單一些,上面的程序有二重for循環,我們不但要把其變成while循環,而且還要把二重循環的變成一重的循環,然后使用大量的if-else語句來判斷。

void primes(int cap)
{
    int i, j, composite, t = 0;
   
    while(t < cap * cap) {
        i = t / cap;
        j = t++ % cap;
        if(i <= 1);
        else if(!j)
            composite = j;
        else if(j == i && !composite)
            printf("%d\t",i);
        else if(j > 1 && j < i)
            composite += !(i % j); 
    }
}

int main()
{
    primes(100);
}
第二步,把循壞變成遞歸
遞歸在某些時候是可以把代碼變得簡單,但大多數的情況下是把代碼變得復雜,而且很沒有效率。下面是把上面的while循環變成了遞歸。變成了遞歸后,函數的參數都變成3個了。

void primes(int cap, int t, int composite)
{
    int i,j;
    i = t / cap;
    j = t % cap;
    if(i <= 1)
        primes(cap,t+1,composite);
    else if(!j)
        primes(cap,t+1,j);
    else if(j == i && !composite)
        (printf("%d\t",i), primes(cap,t+1,composite));
    else if(j > 1 && j < i)
        primes(cap,t+1, composite + !(i % j));
    else if(t < cap * cap)
        primes(cap,t+1,composite);
}
 
int main()
{
    primes(100,0,0);
}
第三步,弄亂代碼結構/使用沒有含義的變量名
關于如何弄亂代碼結構,其中一個小技巧是,使用“?”表達式代替if-else語句。

void primes(int m, int t, int c)
{
    int i,j;
    i = t / m;
    j = t % m;
    (i <= 1) ? primes(m,t+1,c) : (!j) ? primes(m,t+1,j) : (j == i && !c) ?
    (printf("%d\t",i), primes(m,t+1,c)) : (j > 1 && j < i) ?
    primes(m,t+1,c + !(i % j)) : (t < m * m) ? primes(m,t+1,c) : 0;
}
 
int main()
{
    primes(100,0,0);
}
第四步,取消臨時變量
臨時變量一般用來保存反復使用的一個表達式的值。使用大量重復的表達式來取消這些臨時變量的也可以讓代碼復雜起來。

void primes(int m, int t, int c)
{
  ((t / m) <= 1) ? primes(m,t+1,c) : !(t % m) ? primes(m,t+1, t % m) :
  ((t % m)==(t / m) && !c) ? (printf("%d\t",(t / m)), primes(m,t+1,c)) :
  ((t % m)> 1 && (t % m) < (t / m)) ? primes(m,t+1,c + !((t / m) % (t % m))) :
  (t < m * m) ? primes(m,t+1,c) : 0;
}

 
int main()
{
    primes(100,0,0);
}
第五步,繼續弄亂變量名
我們知道,下劃線是合法的變量名,所以,我們不妨用__,___,____來代替m,t,c。函數名也可以使用下劃線來代替。讓我們來看看求素數的函數能變成什么。

void _(int __, int ___, int ____)
{
    ((___ / __) <= 1) ? _(__,___+1,____) : !(___ % __) ? _(__,___+1,___ % __) :
    ((___ % __)==(___ / __) && !____) ? (printf("%d\t",(___ / __)),
    _(__,___+1,____)) : ((___ % __) > 1 && (___ % __) < (___ / __)) ?
    _(__,___+1,____ + !((___ / __) % (___ % __))) : (___ < __ * __) ?
    _(__,___+1,____) : 0;
}

int main()
{
    _(100,0,0);
}
第六步,移除常量
在上面的程序中,還有一些常量,你可以通過增加一個宏定義,或是增加一個函數的形參來取代這一常量。

void _(int __, int ___, int ____, int _____)
{
    ((___ / __) <= _____) ? _(__,___+_____,____,_____) : !(___ % __) ? _(__,___+_____,___ % __, _____) :
    ((___ % __)==(___ / __) && !____) ? (printf("%d\t",(___ / __)),
    _(__,___+_____,____,_____)) : ((___ % __) > _____ && (___ % __) < (___ / __)) ?
    _(__,___+_____,____,_____ + !((___ / __) % (___ % __))) : (___ < __ * __) ?
    _(__,___+_____,____,_____) : 0;
}
 
int main() {
    _(100,0,0,1);
}
程序到這里應該差不多了。還是那句話——“每一個程序員都有把源代碼弄復雜的潛質”,大家好自為之。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/haoel/archive/2009/05/30/4225974.aspx

posted on 2009-06-01 23:18 colen 閱讀(225) 評論(0)  編輯 收藏 引用

<2009年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

公告

Polymerized Myblog successfully, WELCOME...

常用鏈接

留言簿(1)

隨筆分類(4)

相冊

study community

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩欧美综合精品| 樱桃国产成人精品视频| 免费不卡中文字幕视频| 国产精品激情| 中文成人激情娱乐网| 免费日本视频一区| 亚洲欧美资源在线| 欧美午夜美女看片| 亚洲精品一区二区三| 免费观看久久久4p| 久久偷窥视频| 亚洲乱码日产精品bd| 欧美激情在线观看| 欧美精品一区三区| 在线视频精品| 亚洲一品av免费观看| 国产亚洲a∨片在线观看| 蜜臀av一级做a爰片久久| 欧美精品在线一区| 性欧美8khd高清极品| 久久久久久久波多野高潮日日| 亚洲国产天堂久久综合| 亚洲一区二区3| 亚洲成色999久久网站| 一区二区三区欧美视频| 影音先锋日韩精品| 一区二区三区不卡视频在线观看| 国产一区二区久久| 亚洲精品国产系列| 国产精品v欧美精品v日韩精品 | 欧美专区在线观看| 久久五月天婷婷| 久久福利资源站| 欧美一区二区三区免费在线看| 久久免费国产| 久久中文字幕一区二区三区| 欧美日韩精品一二三区| 91久久在线播放| 91久久久久久| 久久亚洲综合色| 久久疯狂做爰流白浆xx| 欧美视频亚洲视频| 亚洲国产精品激情在线观看| 国外视频精品毛片| 久久综合久久88| 亚洲国产成人在线| 一本色道久久88精品综合| 欧美成人黑人xx视频免费观看| 亚洲国产一区二区三区高清| 亚洲六月丁香色婷婷综合久久| 欧美大片专区| 日韩视频一区二区| 亚洲免费影视| 国产一区二区无遮挡| 久久久久欧美| 一区二区三区国产在线观看| 亚洲一级网站| 欧美一区在线看| 亚洲国产精彩中文乱码av在线播放| 国产毛片精品视频| 久久人91精品久久久久久不卡| 亚洲国产日日夜夜| 亚洲一区综合| 亚洲日韩第九十九页| 欧美亚男人的天堂| 欧美mv日韩mv亚洲| 亚洲在线1234| 中文在线资源观看网站视频免费不卡 | 亚洲韩国青草视频| 久久久www成人免费无遮挡大片 | 国产午夜精品麻豆| 欧美伊人久久久久久午夜久久久久 | 免费av成人在线| 久久国产福利| 亚洲欧美在线网| 亚洲女性裸体视频| 亚洲性感美女99在线| 亚洲美女av电影| 久久国产精品高清| 99在线热播精品免费| 亚洲精品乱码久久久久久日本蜜臀| 国产精品成人播放| 国产精品久久国产精品99gif| 欧美激情亚洲国产| 久久久久免费| 牛牛国产精品| 欧美精品一区三区在线观看| 欧美精品一区二区三区在线看午夜| 免费在线亚洲欧美| 欧美日韩国产综合在线| 国产精品久久999| 红桃av永久久久| 日韩视频亚洲视频| 国内精品模特av私拍在线观看| 99视频一区二区三区| 久久夜色精品国产| 欧美福利在线观看| 欧美视频在线一区二区三区| 欧美日韩精品一区二区在线播放 | 亚洲欧美日韩高清| 亚洲欧美视频在线观看| 久久精品女人| 欧美激情精品久久久久| 国产精品久久久久久久久免费桃花| 国产亚洲女人久久久久毛片| 亚洲国产精品久久精品怡红院| 在线观看91精品国产入口| 一本色道久久综合亚洲精品高清| 欧美一区二区三区免费大片| 欧美第一黄色网| 99国产精品视频免费观看一公开| 久久黄色级2电影| 国产精品乱码一区二三区小蝌蚪 | 欧美中文字幕视频| 亚洲精品一区在线| 久久人人爽国产| 国产真实精品久久二三区| 在线视频精品一区| 欧美黄在线观看| 欧美xxx在线观看| 亚洲区免费影片| 欧美激情第一页xxx| 久久国产一区二区| 国产在线播放一区二区三区| 久久久精品tv| 亚洲欧美日韩一区二区三区在线观看| 欧美日韩一区二区三区高清| 亚洲国产日韩一区| 91久久久久久国产精品| 久久五月激情| 久久精品人人做人人综合| 国产午夜精品福利| 免费亚洲电影在线| 欧美激情精品久久久久久变态 | 国产日韩综合| 老司机午夜免费精品视频| 免费精品99久久国产综合精品| 亚洲片区在线| 亚洲精品一区在线观看香蕉| 国产精品裸体一区二区三区| 久久久久久久久久久成人| 美女脱光内衣内裤视频久久影院 | 亚洲小说欧美另类婷婷| 亚洲视频一区二区在线观看| 国产精品国产亚洲精品看不卡15 | 亚洲国产精品女人久久久| 亚洲国产成人久久综合一区| 欧美日韩视频在线一区二区观看视频 | 欧美在线二区| 亚洲网站在线看| 欧美chengren| 欧美中文在线免费| 欧美日韩免费观看一区二区三区 | 国产美女精品在线| 欧美成人免费全部| 国产精品日日摸夜夜添夜夜av| 欧美激情按摩| 亚洲图中文字幕| 欧美日韩极品在线观看一区| 欧美好骚综合网| 91久久精品美女高潮| 欧美一级夜夜爽| 久久人人九九| 伊人精品视频| 久久视频精品在线| 免费观看成人网| 亚洲电影天堂av| 欧美国产精品v| 亚洲国产精品视频| 亚洲乱码一区二区| 欧美精品一区三区| 亚洲精品美女| 亚洲在线成人精品| 欧美日产国产成人免费图片| 亚洲欧洲日产国产网站| 日韩一区二区久久| 国产精品免费网站| 久久精品国产96久久久香蕉| 男女av一区三区二区色多| 亚洲美女91| 国产精品有限公司| 久久久久免费观看| 欧美黄色片免费观看| 亚洲欧美日韩国产综合精品二区 | 国产欧美综合一区二区三区| 久久久久www| 制服丝袜激情欧洲亚洲| 免费精品99久久国产综合精品| 亚洲日本无吗高清不卡| 国产精品视频免费一区| 欧美理论大片| 欧美在线观看视频一区二区| 欧美黑人多人双交| 久久综合伊人77777| 亚洲综合久久久久| 国产真实乱偷精品视频免| 免费成人黄色| 久久久久久午夜| 久久久久国产成人精品亚洲午夜| 亚洲深夜福利网站|