#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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)