作者a1013944 (ㄚ春)
看板C_and_CPP
標題[問題] 小遊戲大問題
時間Fri Apr 3 22:34:13 2009
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main()
{
srand(time(NULL));
int n=rand()%3+1;
int s;
float w=0,l=0,n1;
printf("請輸入你要的局數(一場)\n");
scanf("%d",&n1);
n1=(n1+1)/2;
do
{
printf("%d",n);
printf("(1剪刀 (2石頭 (3布\n");
printf("請輸入你的選擇\n");
scanf("%d",&s);
if(n==1&&s==1)
printf("平手唷!!!\n");
else if(n==1&&s==2)
{
printf("你贏囉!!\n");
w=w+1;
}
else if(n==1&&s==3)
{
printf("你輸囉!!!\n");
l=l+1;
}
else if(n==2&&s==2)
printf("平手唷!!!\n");
else if(n==2&&s==1)
{
printf("你贏囉!!\n");
w=w+1;
}
else if(n==2&&s==3)
{
printf("你輸囉!!!\n");
l=l+1;
}
else if(n==3&&s==3)
printf("平手唷!!!\n");
else if(n==3&&s==2)
{
printf("你贏囉!!\n");
w=w+1;
}
else if(n==3&&s==1)
{
printf("你輸囉!!!\n");
l=l+1;
}
}while(w==n1||l==n1);
if(w==n1)
printf("你贏了此局\n");
else if(l==n1)
printf("你輸了此局\n");
system("pause");
return 0;
}
這個我的用意是想要假如輸入5局
代表要3戰兩勝
我的迴圈好像出了問題
輸入5場
跳進回圈
結果玩了一局
就跳了
可以幫我看看我的迴圈哪裡出了問題嗎??
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.172.84.253
→ a1013944:打錯是5戰3勝 04/03 22:36
推 tsaiminghan:你的w ni l是float 第一次判斷時, 條件不會成立 04/03 22:45
→ tsaiminghan:你的while( w==n1 || l==n1)判斷條件寫錯了。 04/03 22:46
→ a1013944:所以要改成int?? 04/03 22:46
→ a1013944:是喔 @@那t大請問怎麼改?? 04/03 22:47
→ tsaiminghan:改用int while( w<n1 && l<n1) 04/03 22:50
推 tsaiminghan:打錯 while(w <= n1 && l <=n1) 04/03 22:54
→ a1013944:OK 感謝你的幫忙 您讓我的作業前進了一步 04/03 22:56
→ tsaiminghan:啊~~~ w<n1 && l<n1 才對... 04/03 22:56