PAT B 1018 錘子剪刀布 20

2021-07-26 18:29:34 字數 1046 閱讀 7559

題目鏈結在此。

該題沒有什麼拐彎之處,只需要把題意實現即可。

我的做法是將輸入的b、c、f字元轉換成對應的ascii碼,以逃避用串比較函式來進行一些字元相等的判斷。

此處需要注意的是,想要將乙個字元轉換成其ascii碼,只需要用字元-『\0』(而不是『0』)即可。

下面貼出我的ac**:

#include

#include

int main()

int jnum = j-'\0';

int ynum = y-'\0';

//統計甲獲勝的情況

if(jnum == 66 && ynum == 67)else

if(jnum == 67 && ynum == 74) else

if(jnum == 74 && ynum == 66)

//統計乙獲勝的情況

if(jnum == 67 && ynum == 66) else

if(jnum == 74 && ynum == 67) else

if(jnum == 66 && ynum == 74)

} printf("%d %d %d\n",jwintimes,n-jwintimes-ywintimes,ywintimes);

printf("%d %d %d\n",ywintimes,n-jwintimes-ywintimes,jwintimes);

//拿到甲、乙獲勝最多手勢

int jmax = jb;

char j = 'b';

if(jmax < jc)

if(jmax < jj)

int ymax = yb;

char y = 'b';

if(ymax < yc)

if(ymax < yj)

printf("%c %c\n",j,y);

return

0;}

《演算法筆記上機訓練實踐指南》中的解法在**的構造上顯得更為巧妙,總體的演算法思想並無二異,故此處不過多贅述。

PAT B1018 錘子剪刀布 20

大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 輸入第1行給出正整數n 105 即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j...

PAT B 1018 錘子剪刀布

大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 輸入第1行給出正整數n 105 即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j...

PAT B1018 錘子剪刀布

1018 錘子剪刀布 20 分 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入第 1 行給出正整數 n 10 5 即雙方交鋒的次數。隨後 n 行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j代表 剪刀 b代表 布 第 1 個字母...