发布时间:2023-12-12 07:24来源:www.sf1369.com作者:宇宇
//一些简单的输出提示,自己加下。
#includemain() { int s=21,t; int n; printf(Game Begin\n); do { t=4; if(t>s) t=s; printf(How many stick do you wish to take(1~%d)?,t); do { scanf(%d,&n); } while(n<1||n>s); s=s-n; if(t==1) printf(You have taken the last stick.\n); if(s==0) break; printf(%d stick left in the pile.\n,s); printf(Compute take %d stick.\n,5-n); s=s-(5-n); printf(%d stick left in the pile.\n,s); }while(s); printf(You lose!\n); printf(Game Over!\n); }
#includevoid main() { int a,i,j; int N=21; for(i=1;i<5;i++) { printf(现在我们有%d根火柴,请输入您的选择数:,N); scanf(%d,&a); for(;j>4||j<1;j) { printf(输入错误,请重新输入); scanf(%d,&a); } printf(电脑要%d,5-a); N=N-5; } printf(现在我们只有1根火柴啦,所以您输啦!); } 因为是在网吧做的,所以没有办法测试,希望不会出现什么BUG。
我记得网上有解题报告,就不写完整的代码了;因为数据范围并不大,所以穷举就可以,定义int cnt()函数返回拼成一个数所需火柴数,然后双重循环: //count计数,n为火柴数 int i,j,count=0; for(i=0;i<=1000;i++) for(j=0;j<=1000;j++) { //加数所需火柴 int a=cnt(i),b=cnt(j); //和所需火柴 int c=cnt(i+j); //和可用火柴 int d=n-4-a-b; //若相等 if(c==d) count++; }
你的意思是拿到最后一根的算输吧,
要看顺序的,先拿的就一定输。
——————————————
int match=21;
int finish=0;//结束标志
int err//错误标志
do{
if(match==1)
{
cout<<非常抱歉,你失败了!<>num; if(num!
Option Explicit
Dim a%, he%
Private Sub Command1_Click()
a = Val(Text1.Text)
If a = 1 Then
MsgBox 电脑选数为:4 和为5 & 请继续填写, 0, 电脑提示
ElseIf a = 2 Then
MsgBox 电脑选数为:3 和为5 & 请继续填写, 0, 电脑提示
ElseIf a = 3 Then
MsgBox 电脑选数为:2 和为5 & 请继续填写, 0, 电脑提示
ElseIf a = 4 Then
MsgBox 电脑选数为:1 和为5 & 请继续填写, 0, 电脑提示
End If
If Text1.Text = Then
MsgBox 请输入1-4的整数, 0, 电脑提示
End If
End Sub
Private Sub Command2_Click()
If a = 1 Then
MsgBox 电脑选数为:4 和为10 & 请继续填写, 0, 电脑提示
ElseIf a = 2 Then
MsgBox 电脑选数为:3 和为10 & 请继续填写, 0, 电脑提示
ElseIf a = 3 Then
MsgBox 电脑选数为:2 和为10 & 请继续填写, 0, 电脑提示
ElseIf a = 4 Then
MsgBox 电脑选数为:1 和为10 & 请继续填写, 0, 电脑提示
End If
If Text1.Text = Then
MsgBox 请输入1-4的整数, 0, 电脑提示
End If
End Sub
Private Sub Command3_Click()
If a = 1 Then
MsgBox 电脑选数为:4 和为15 & 请继续填写, 0, 电脑提示
ElseIf a = 2 Then
MsgBox 电脑选数为:3 和为15 & 请继续填写, 0, 电脑提示
ElseIf a = 3 Then
MsgBox 电脑选数为:2 和为15 & 请继续填写, 0, 电脑提示
ElseIf a = 4 Then
MsgBox 电脑选数为:1和为15 & 请继续填写, 0, 电脑提示
End If
If Text1.Text = Then
MsgBox 请输入1-4的整数, 0, 电脑提示
End If
End Sub
Private Sub Command4_Click()
If a = 1 Then
MsgBox 电脑选数为:4 和为20 & 你输了哦, 0, 电脑提示
ElseIf a = 2 Then
MsgBox 电脑选数为:3 和为20 & 你输了哦, 0, 电脑提示
ElseIf a = 3 Then
MsgBox 电脑选数为:2 和为20 & 你输了哦, 0, 电脑提示
ElseIf a = 4 Then
MsgBox 电脑选数为:1 和为20 & 你输了哦, 0, 电脑提示
End If
If Text1.Text = Then
MsgBox 请输入1-4的整数, 0, 电脑提示
End If
End Sub
Private Sub Form_Load()
Command1.Caption = 第1轮
Command2.Caption = 第2轮
Command3.Caption = 第3轮
Command4.Caption = 第4轮
Label1.Caption = 请填入1-4的整数:
Text1.Text =
End Sub