在Ubuntu linux C語言實現剪刀石頭布

2021-10-19 11:13:08 字數 1181 閱讀 2279

0、1、2三個整數分別是剪刀石頭布在程式中的內部表示,使用者也要求輸入0、1或2,然後和計算機隨機生成的0、1或2比勝負。這個程式的主體是乙個死迴圈,需要按ctrl-c退出程式。以往我們寫的程式都只有列印輸出,在這個程式中我們第一次碰到處理使用者輸入的情況。在這裡只是簡單解釋一下,以後再細講。scanf("%d", &man)這個呼叫的功能是等待使用者輸入乙個整數並回車,這個整數會被scanf函式儲存在man這個整型變數裡。如果使用者輸入合法(輸入的確實是整數而不是字串),則scanf函式返回1,表示成功讀入乙個資料。但即使使用者輸入的是整數,我們還需要進一步檢查是不是在0~2的範圍內,寫程式時對使用者輸入要格外小心,使用者有可能輸入任何資料,他才不管遊戲規則是什麼。

和printf類似,scanf也可以用%c、%f、%s等轉換說明。如果在傳給scanf的第乙個引數中用%d、%f或%c表示讀入乙個整數、浮點數或字元,則第二個引數的形式應該是&運算子加乙個相應型別的變數名,表示讀進來的數存到這個變數中;如果在第乙個引數中用%s讀入乙個字串,則第二個引數應該是陣列名,陣列名前面不加&,因為陣列型別做右值時自動轉換成指標型別,而scanf後面這個引數要的就是指標型別,在第 10 章 gdb有scanf讀入字串的例子。&運算子的作用也是得到乙個指標型別,這個運算子以後再詳細解釋。

#include

#include

#include

int main(void)

;int man, computer, result, ret;

srand(time(null));

while (1)

printf("your gesture: %s\tcomputer's gesture: %s\n",

gesture[man], gesture[computer]);

result = (man - computer + 4) % 3 - 1;

if (result > 0)

printf("you win!\n");

else if (result == 0)

printf("draw!\n");

else

printf("you lose!\n");

}return 0;

在CentOS 安裝R語言

r 在 configure 時需要接引數 enable r shlib configure prefix usr local enable r shlib 0.安裝yum優先順序外掛程式 yum install yum priorities1.epel簡介 rpm uvh edu cn fedora...

c語言在for迴圈裡插入遞迴 C語言for迴圈

寫法格式 for 表示式1 表示式2 表示式3 它的執行過程為 1 先執行 表示式1 2 再執行 表示式2 如果它的值為真 非0 則執行迴圈體,否則結束迴圈。3 執行完迴圈體後再執行 表示式3 4 重複執行步驟 2 和 3 直到 表示式2 的值為假,就結束迴圈。上面的步驟中,2 和 3 是一次迴圈,...

在C語言中的用法

1.模運算,即求餘數。表示式 a b 就是計算 a 除以 b 得出的餘數。例如 8 6 的結果是 22.轉義符,比如在 scanf 和 printf 中的輸入引數常出現帶有 的表示引數型別的變數,它的作用是將輸出的資料轉換為指定的格式輸出。格式說明總是由 字元開始的。格式字元有d,o,x,u,c,s...