[問題] C 語言的猜拳程式 (switch 好像被執行ꐠ…
開發平台(Platform): C
額外使用到的函數庫(Library Used):
問題(Question):
我的執行結果會多跑一次,但又覺得邏輯沒錯
but 有些情況又會正常....真的不知道哪裡的問題
餵入的資料(Input):
預期的正確結果(Expected Output):
這是一個猜拳程式
請玩家出拳(剪刀:0 石頭:1 布:2):
電腦出拳:剪刀/石頭/布
結果:勝/負/和
錯誤結果(Wrong Output):
(譬如像這樣子...."結果"多跑一次)
這是一個猜拳程式
請玩家出拳(剪刀:0 石頭:1 布:2):1
電腦出拳:石頭
結果:和!布
結果:負!
程式碼(Code):(請善用置底文網頁, 記得排版)
原始檔:http://ppt.cc/-,x8
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/* ===================== 電 腦 亂 數 出 拳 ==========================*/
int com()
{
int x;
srand(time(NULL));
x=rand()%100;
switch (x%3) //用取餘數的方式決定電腦出拳
{
case 0:
return 0;
break;
case 1:
return 1;
break;
case 2:
return 2;
break;
}
}
/*======================================================================*/
/*=========================== 主 程 式 =================================*/
int main()
{
int player,x;
printf("這是一個猜拳遊戲\n\n");
printf("請玩家出拳(輸入\"剪刀為0、石頭為1、布為2\"):");
scanf("%d",&player);
printf("\n");
printf("電腦出拳:");
x=com();
switch(x) // 判斷勝負
{
case 0: // 電腦出剪刀
printf("剪刀\n");
switch(player)
{
case 0:
printf("結果:和!");
break;
case 1:
printf("結果:勝!");
break;
case 2:
printf("結果:負!");
break;
}
case 1: // 電腦出石頭
printf("石頭\n");
switch(player)
{
case 0:
printf("結果:負!");
break;
case 1:
printf("結果:和!");
break;
case 2:
printf("結果:勝!");
break;
}
case 2: // 電腦出布
printf("布\n");
switch(player)
{
case 0:
printf("結果:勝!");
break;
case 1:
printf("結果:負!");
break;
case 2:
printf("結果:和!");
break;
}
}
printf("\n\n");
system("PAUSE");
return 0;
}
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.154.3
※ 編輯: andywu322 來自: 218.164.154.3 (01/16 15:11)
推
01/16 15:15, , 1F
01/16 15:15, 1F
→
01/16 15:15, , 2F
01/16 15:15, 2F
→
01/16 15:46, , 3F
01/16 15:46, 3F
→
01/16 15:46, , 4F
01/16 15:46, 4F
→
01/16 15:47, , 5F
01/16 15:47, 5F
→
01/16 15:51, , 6F
01/16 15:51, 6F
推
01/16 16:37, , 7F
01/16 16:37, 7F
→
01/16 20:37, , 8F
01/16 20:37, 8F
→
01/25 21:57, , 9F
01/25 21:57, 9F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章