#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));
printf("*** じゃんけんします***\nじゃんけんぽん!(1:グー、2:チョキ、3:パー ):");
scanf("%d",&hand_YOU);
if(hand_YOU<1 || hand_YOU>3)
{printf("グー・チョキ・パー以外は反則です。");
return(0);
}
if(hand_YOU==1)
printf("YOU:グー\n");
else if(hand_YOU==2)
printf("YOU:チョキ\n");
else
printf("YOU:パー\n");
if(hand_com==1)
printf("COM:グー\n");
else if(hand_com==2)
printf("COM:チョキ\n");
else
printf("COM:パー\n");
if(hand_YOU==hand_com)
printf("あいこ!\n");
else if((hand_YOU==1&&hand_com==2)||(hand_YOU==2&&hand_com==3)||(hand_YOU==3&&hand_com==1))
printf("あなたの勝ち!\n");
else if((hand_YOU==2&&hand_com==1)||(hand_YOU==3&&hand_com==2)||(hand_YOU==1&&hand_com==3))
printf("あなたの負け!\n");
printf("***終了***");
return(0)
}
じゃんけん
じゃんけん
じゃんけんのプログラムを書こうと試みています。あいこになった場合再度キーボードからの入力をし、じゃんけんをし、結果を表示するにはどのように改良すればよろしいですか
Re: じゃんけん
ループを使ってあいこだったら最初からやり直すようにする、というのが一つの手でしょう。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int hand_com,hand_YOU;
srand(time(NULL));
for(;;)
{
rand();
hand_com = (rand()%(3));
printf("*** じゃんけんします***\nじゃんけんぽん!(1:グー、2:チョキ、3:パー ):");
scanf("%d",&hand_YOU);
if(hand_YOU<1 || hand_YOU>3)
{
printf("グー・チョキ・パー以外は反則です。");
return(0);
}
if(hand_YOU==1)
printf("YOU:グー\n");
else if(hand_YOU==2)
printf("YOU:チョキ\n");
else
printf("YOU:パー\n");
if(hand_com==1)
printf("COM:グー\n");
else if(hand_com==2)
printf("COM:チョキ\n");
else
printf("COM:パー\n");
if(hand_YOU==hand_com)
{
printf("あいこ!\n");
continue;
}
else if((hand_YOU==1&&hand_com==2)||(hand_YOU==2&&hand_com==3)||(hand_YOU==3&&hand_com==1))
printf("あなたの勝ち!\n");
else if((hand_YOU==2&&hand_com==1)||(hand_YOU==3&&hand_com==2)||(hand_YOU==1&&hand_com==3))
printf("あなたの負け!\n");
printf("***終了***");
return(0);
}
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)