#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int hand_com,hand_YOU;
srand(time(NULL)); rand();
hand_com = rand() % 3 + 1;
hand_YOU = rand() % 3 + 1;
printf("*** じゃんけんします ***\n\n");
if (hand_com == 1)
printf("COM: グー\n");
else if (hand_com == 2)
printf("COM: チョキ\n");
else
printf("COM: パー\n");
if (hand_YOU == 1)
printf("YOU: グー\n");
else if (hand_YOU == 2)
printf("YOU: チョキ\n");
else
printf("YOU: パー\n");
if(hand_YOU==1)
{ printf("YOU:グー\n");
if(hand_com==1)
{printf("あいこ!");
}
else if(hand_com==2)
{
printf("hand_com:チョキ\n");
printf("あなたの勝ち!");
}
else if(hand_com==3)
{
printf("hand_com:パー!\n");
printf("あなたの負け!\n");
}
else if(hand_YOU==2)
{
printf("hand_YOUチョキ\n");
if(hand_com==1)
{printf("hand_comグー\n");
printf("負け!\n");
}
else if(hand_com==2)
{
printf("hand_comチョキ\n");
printf("あいこ!\n");
}
else if(hand_com==3)
{
printf("hand_comパー\n");
printf("勝利!\n");
}
}
else if(hand_com==3)
{
printf("hand_YOUパー\n");
if(hand_com==1)
{
printf("hand_comグー\n");
printf("勝利\n");
}
else if(hand_com==2)
{
printf("hand_comチョキ\n");
printf("負け\n");
}
else if(hand_com==3)
{
printf("hand_comパー\n");
printf("あいこ!\n");
}
printf("\n*** 終了 ***\n");
return 0;
}
}
}
じゃんけん
じゃんけん
以下の仕様に従うコードとすること:1度の実行で,1度だけじゃんけんを行う.プログラムを実行する度に異なる結果が得られる(⇔見本コードと同様にtime関数をsrand関数に渡して乱数系列を変更する).完成後の実行ファイルを何度も実行すれば,次ページの全ての動作例を再現できる.次ページの動作例の表示内容を再現する.キーボードからの入力値が1, 2, 3以外の場合は反則である旨をメッセージ表示する.うまく勝敗が表示されません。手直しをお願いします
Re: じゃんけん
なんでプレイヤーの手もランダムに決めさせるんですかね?
手で入力したいんじゃないんですか?
手で入力したいんじゃないんですか?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int player, computer;
srand((unsigned int) time(NULL));
computer = rand() % 3 + 1;
do {
printf("your hand(1:stone, 2:scissors, 3:paper) > ");
scanf("%d", &player);
if (player != 1 && player != 2 && player != 3) {
printf("bad hand\n");
}
} while (player != 1 && player != 2 && player != 3);
// printf("%d %d\n", player, computer);
if (player == computer) {
printf("same hand\n");
}
else if (player == 1 && computer == 2 ||
player == 2 && computer == 3 ||
player == 3 && computer == 1) {
printf("player win!\n");
}
else {
printf("computer win!\n");
}
return 0;
}
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。