當前位置:編程學習大全網 - 編程語言 - 壹道c語言編程題(搬山遊戲)

壹道c語言編程題(搬山遊戲)

#include<stdio.h>

int n,k;

int cnt; //剩余山的數目.

int tag; //輸贏狀態標記.

int cplayer=0,ccomputer=0;//各自輸贏局數.

void player();

void computer();

int main(){

printf("/**********歡迎進入搬山遊戲**********/\n");

printf("遊戲開始\n");

do{

printf("請輸入山的數目(若輸入0,則遊戲結束.):\n");

scanf("%d",&n);

if(n<0){

printf("輸入非法,遊戲結束.\n");

break;

}

if(n == 0){

printf("謝謝使用,再見!\n");

break;

}

printf("請輸入每次能搬動的最大數目(必須小於或等於山的數目頭減2):\n");

scanf("%d",&k);

if( k > (n-2) ){

printf("輸入非法,遊戲結束.\n");

break;

}

cnt = n;

while(cnt > 0){

player();

if(cnt <= 0){

tag=0;

break;

}

computer();

if(cnt <= 0){

tag=1;

break;

}

}

if(tag == 0){

printf("妳輸了,請再接再厲~!\n");

cplayer++;

}

if(tag == 1){

printf("妳真棒~!\n");

ccomputer++;

}

}while(1);

printf("妳***玩了%d局.\n",cplayer + ccomputer);

printf("妳贏了%d局.\n",cplayer);

printf("妳輸了%d局.\n",ccomputer);

}

void player(){

unsigned int c;

printf("請輸入妳要搬走的數目:\n");

scanf("%d",&c);

cnt -= c;

printf("妳搬走了%d座山,還剩下%d座.\n",c,cnt);

}

void computer(){

unsigned int c;

if( (cnt-1) <= k )

c = cnt-1;

else

c = (cnt - 1) % (k + 1);

if(c==0)

c = 1;

cnt -= c;

printf("計算機搬走了%d座山,還剩下%d座.\n",c,cnt);

}

  • 上一篇:蘭州大學全球疫情預測系統,預測的數據可靠嗎?
  • 下一篇:少兒編程,作為家長的壹點思考
  • copyright 2024編程學習大全網