c语言,骰子程序

c语言,骰子程序,第1张

 #include <stdio.h>

#include <time.h>

#include <stdlib.h>

int rollDie(void)

{

 return rand()%6+1

}

void drawDic(int* pdic,int n)

{

 int i,sum=0

 for(i=0i<ni++)

 {

  pdic[i]=rollDie()

 }

 for(i=0i<ni++)

 {

  printf("----")

 }

 printf("\n")

 for(i=0i<ni++)

 {

  printf("|%d| ",pdic[i])

  sum+=pdic[i]

 }

 printf("\n")

 for(i=0i<ni++)

 {

  printf("----")

 }

 printf("\nsum=%d\n",sum)

}

int main()

{

 int dic[100]

 int n=1

 int i

 printf("输入骰子数目:")

 scanf("%d",&n)

 srand(time(0))

 drawDic(dic,n)

 return 0

}

结果:

实践1:函数编程练习 1.掷骰子游戏 编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和。如果第一次投的点数和为7或11,则游戏者获胜;如果第一次投的点数和为2、3或12,则游戏者输;如果第一次投的点数和为4、5、6、8、9或10,则将这个和作为游戏者获胜需要掷出的点数,继续投骰子,直到赚到该点数时算是游戏者获胜。如果投掷7次仍未赚到该点数,则游戏者输。 【思考题】 将游戏规则改为:计算机想一个数作为一个骰子掷出的点数(在用户输入数据之前不显示该点数),用户从键盘输入一个数作为另一个骰子掷出的点数,再计算两点数之和。其余规则相同,然后请读者重新编写该程序。 2.学生成绩统计(一维数组)要求函数参数中包含一维数组。 从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能: (1)统计不及格人数并打印不及格学生名单; (2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单; (3)以直方图方式统计各分数段的学生人数及所占的百分比。形式如下: 分数段 学生人数 图形 <60 3(10%) *** 60-69 8(…) ******** 70-79 7(…) ******* 80-89 8(…) ******** >=90 4(…) **** 实践2:结构体编程练习 在屏幕上模拟显示一个数字式时钟 按如下方法定义一个时钟结构体类型: struct clock { int hourint minuteint second}typedef struct clock CLOCK然后,将下列用全局变量编写的时钟模拟显示程序改成用CLOCK结构体变量类型重新编写。已知用全局变量编写的时钟模拟显示程序如下: #include <stdio.h>int hour, minute, second/*全局变量定义*/ /* 函数功能:时、分、秒时间的更新 函数参数:无 函数返回值:无 */ void Update(void) { second++if (second == 60) /*若second值为60,表示已过1分钟,则 minute值加1*/ { second = 0minute++} if (minute == 60) /*若minute值为60,表示已过1小时,则 hour值加1*/ { minute = 0hour++} if (hour == 24) /*若hour值为24,则hour的值从0开始计时*/ { hour = 0} } /*函数功能:时、分、秒时间的显示 函数参数:无 函数返回值:无 */ void Display(void) /*用回车符'\r'控制时、分、秒显示的位置*/ { printf("%2d:%2d:%2d\r", hour, minute, second) } /*函数功能:模拟延迟1秒的时间 函数参数:无 函数返回值:无 */ void Delay(void) { long tfor (t=0t<50000000t++) { /*循环体为空语句的循环,起延时作用*/ } } main() { long ihour = minute = second = 0/*hour,minute,second赋初值0*/ for (i=0i<100000i++) /*利用循环结构,控制时钟运行的时间*/ { Update()/*时钟更新*/ Display()/*时间显示*/ Delay()/*模拟延时1秒*/ } }

我这是 .NET 2015 的:

Public 你的选择 As Boolean

Public 掷色子数 As Integer

Public 你的本金 As Integer

Public 你的投注 As Integer

Public 色子结果 As Boolean

Private Sub 开始按钮_Click(sender As Object, e As EventArgs) Handles 开始按钮.Click

Randomize()

你的投注 = CInt(扣除标签.Text)

你的本金 = CInt(本金标签.Text)

If 你的投注 >你的本金 Then

MsgBox("你投注过大!")

你的投注 = 0

扣除标签.Text = 0

Exit Sub

ElseIf 你的投注 <= 你的本金

If 大选项.Checked = True Then

你的选择 = True

Else

你的选择 = False

End If

掷色子数 = CInt(Int((6 * Rnd()) + 1))

色子数.Text = 掷色子数

If 掷色子数 >= 4 Then

色子结果 = True

Else

色子结果 = False

End If

If 色子结果 = 你的选择 Then

你的本金 += 你的投注 * 2

Else

你的本金 -= 你的投注

End If

本金标签.Text = 你的本金.ToString

End If

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8064134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存