c語言實戰(zhàn)開發(fā)(殺死比爾凸丸?) 2019-11-27 Day7

今天的內(nèi)容就是做一個小demo拷邢,詳細(xì)講解如下

小demo簡述

1:請輸入?yún)⑴c人數(shù) 比如輸入7
2:每個人就編一個號
3:請輸入殺人編號比如 3
4: 沒死的人 只要報到3的人就死 直接輸出最后沒死的人的編號

#include<stdio.h>
#include<stdlib.h>
#define KILLED 0//宏定義(取別名):想給一個特殊的數(shù)字 字符串 表達式 以特殊的意義時屎慢,就取個別名瞭稼。注意這里沒有分號 
//好處1:增強可讀性 2:更方便改變 可操作性更強  
int main (void){
    /*//先輸入一個數(shù)字
    //然后利用循環(huán)給數(shù)組每個元素賦值
    //輸入殺人編號
    //for循環(huán)腻惠,拿掉第三個數(shù),當(dāng)最后的數(shù)組元素個數(shù)變成1時集灌,輸出這個元素
    int shuru = 0;
    scanf("%d",&shuru);
    int a[shuru];
    for(int i = 0;i < shuru;i++){
        a[i] = i+1;
    } 
    for(int i = 0;i < shuru;i++){
        printf("%d  ",a[i]);
    }
     
    int naqu = 0;
    scanf("%d",&naqu);
    while(1){
        //int del(int a[],int n, int x)//刪除長度為n的數(shù)組中值為x的元素 
        int del(int a[],int n, int x)//刪除長度為n的數(shù)組中值為x的元素
    }
    //12457*/
    int count ;//保存輸入的人數(shù)
    int num[90] = {};//保存每個人的編號
    int killNum;//被殺的人的編號 
    printf("請輸入?yún)⑴c人數(shù):");
    scanf("%d",&count); 
    //開始編號
    for(int i = 0;i < count ;i++){
        num[i] = i+1;
    } 
    printf("請輸入殺人的編號:");
    scanf("%d",&killNum);
    //開始游戲 比如1234567 去掉3后 后面依次往前面替換 成了1245677  但是效率低复哆,頻繁地刪除/增加 但是可以將被選中的數(shù)賦值為0 比如 1204507 
    int current = 0;//記錄當(dāng)前報數(shù)的位置 
    int totalKilled = 0;//記錄當(dāng)前死亡人數(shù) 
    for(int i = 0;i < count;i++){
        if(num[i] != KILLED){ //可能以前已經(jīng)死的人 又被殺死了 
            current++;
        } /*else{
            printf("這是已經(jīng)死亡的編號%d",num[i]);
            continue;
        } *///問題所在 
        //判斷當(dāng)前編號是不是死亡編號
        if(current == killNum){
            printf("被殺死的人是:%d\n",num[i]); 
                //殺掉
                num[i] = KILLED; //這里弄成KILLED,就是能讓別人看懂 
                current = 0;//還原current 
                totalKilled++;
                //當(dāng)還剩一個的時候就退出循環(huán) 
                if(totalKilled == count - 1){
                    break;
                }
            }
        //判斷是否到末尾 
        if(i == count - 1){
            i = -1;//這一點很重要梯找,一開是沒想出來。命名為-1 
        } 
        } 
    for(int i = 0;i < count;i++){
        printf("%d ",num[i]);//最后再輸出一下 
    }
        

    
    system("pause");
    return 0;
} 

下面是自己課下寫的

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main (void){
    //輸入?yún)⑴c人數(shù)
    //給每一個參與的人附上編號
    //輸入殺人編號3
    //依次顯示被殺死的人的編號
    //將最后的數(shù)組顯示出來
    printf("游戲開始\n");
    Sleep(2000);
    system("cls") ;
    int count;//記錄參與人數(shù)
    int a[500] = {};
    int current = 0;
    int killed = 0;//記錄殺人編號 
    int totalkilled = 0;//記錄總共被殺死的人锈锤,這一點尤為重要,后來自己寫的時候忘了 
    scanf("%d",&count);
    for(int i = 0;i < count;i++){
        a[i] = i + 1;
        printf("%d",a[i]);
    }//給每個人附上編號
    printf("\n");
    printf("請輸入殺人編號:");
    scanf("%d",&killed);//輸入殺人編號
    for(int i = 0;i < count;i++){
        
        if(a[i] != 0){
            current++;
        }
        if(killed == current){
            printf("被殺死的人是:%d\n",a[i]);
            a[i] = 0;
            current = 0;//將次序歸為0 
            totalkilled++;
            if(totalkilled == count - 1){//這里不能用while因為while也是一個循環(huán)久免,用break是退出它的循環(huán)而不是退出外面的for循環(huán) 
            break;
        }
        }
        if(i == count - 1){
            i = -1;
        }
    } 
    for(int i = 0;i < count;i++){
    printf("%d",a[i]);
    }
    system("pause");
    return 0;
}

總結(jié):

今天倒是沒有學(xué)什么新知識扭弧,只是在老師帶領(lǐng)下做了一個小demo阎姥,但是在做的過程中有很多收獲鸽捻,尤其在課下再做一遍的時候呼巴,會遺忘很多步驟和思路(具體見上面代碼的注釋)這時再和老師寫的代碼做對比就會找到很多問題泊愧。還有一個很大的收獲就是在寫小demo的過程中要在最上面以注釋的形式把所有的步驟一步一步地寫出來伊磺,這樣便于使我的思路清晰屑埋,知道下一步需要干什么
課下作業(yè)

游戲:
猜數(shù)字 游戲開始 產(chǎn)生四個0-9之間的不重復(fù)的從小到大排序的數(shù)字。
比如 2348
請輸入猜測數(shù)字 :
如果猜測的數(shù)字正確且位置正確 那么輸出A 數(shù)字正確 位置不正確 B
比如 2589 則輸出1A1B

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末摘能,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子团搞,更是在濱河造成了極大的恐慌,老刑警劉巖多艇,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異峻黍,居然都是意外死亡,警方通過查閱死者的電腦和手機姆涩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骨饿,“玉大人台腥,你說我怎么就攤上這事±璩蓿” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵蜓竹,是天一觀的道長。 經(jīng)常有香客問我,道長嘶是,這世上最難降的妖魔是什么钙勃? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任聂喇,我火速辦了婚禮,結(jié)果婚禮上希太,老公的妹妹穿的比我還像新娘克饶。我一直安慰自己誊辉,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布堕澄。 她就那樣靜靜地躺著邀跃,像睡著了一般蛙紫。 火紅的嫁衣襯著肌膚如雪拍屑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天僵驰,我揣著相機與錄音,去河邊找鬼蒜茴。 笑死,一個胖子當(dāng)著我的面吹牛矮男,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播室谚,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼崔泵,長吁一口氣:“原來是場噩夢啊……” “哼猪瞬!你這毒婦竟也來了憎瘸?” 一聲冷哼從身側(cè)響起陈瘦,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤幌甘,失蹤者是張志新(化名)和其女友劉穎痊项,沒想到半個月后锅风,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鞍泉,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡皱埠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年咖驮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片托修。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖睦刃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情眯勾,我是刑警寧澤枣宫,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布吃环,位于F島的核電站也颤,受9級特大地震影響郁轻,放射性物質(zhì)發(fā)生泄漏翅娶。R本人自食惡果不足惜好唯,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骑篙。 院中可真熱鬧蜕提,春花似錦靶端、人聲如沸谎势。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猖毫。三九已至须喂,卻和暖如春吁断,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背坞生。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工仔役, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骂因。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像赃泡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子乘盼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容