題目鏈結在此。
該題沒有什麼拐彎之處,只需要把題意實現即可。
我的做法是將輸入的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 個字母...