C语言中关于掷骰子和赌注的代码编写
#include
#include
#include
int arraySum(const int * const a, int n) {
int i = 0, sum = 0;
for (; i < n; i++) {
sum += a[i];
}
return sum;
}
int main(int argc, char *argv[]) {
int i = 0;
int a[3] = {0};
int sum = 0;
srand((int)time(0));
for (; i < 3; i++) {
a[i] = (rand() % 6)+1;
}
printf("%d,%d,%d
", a[0],a[1],a[2]);
sum = arraySum(a, sizeof(a)/sizeof(a[0]));
// 3, 4, 5, 6, 7, 8, 9,10, 小
// 11,12,13,14,15,16,17,18 大
if (sum < 11) {
printf("小
");
} else {
printf("大
");
}
return 0;
}
#include#include#includeint main(void){int ai[3]; //甲的三个骰子的点数int bi[3]; //乙的三个骰子的点数int i;srand((unsigned)time(NULL)); //播时间种子,产生随机数for (i = 0; i bi[0] + bi[1] + bi[2]){printf("
甲获胜.
");}else{printf("
乙获胜.
");}return 0;}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MONEY 200
int get_num(void)
{
srand(clock());
return 1+rand()%6;
}
int win(int me_num,int computer_num,int n,int *me,int *computer)
{
if(me_num-computer_num > 0)
{
printf("太厉害了,您这把赢了呢!
");
printf("您的财富 +%d
",n*2);
*me+=n*2;
printf("计算机的财富 -%d
",n);
*computer-=n;
printf("您当前的财富为 %d
计算机当前的财富为 %d
",*me,*computer);
if(*computer < 0)
{
printf("太厉害了、太厉害了,计算机被你打败了!
");
return -1;
}
return 0;
}
else if(me_num-computer_num < 0)
{
printf("不好,您输了!
");
printf("您的财富 -%d
",n);
*me-=n;
printf("计算机的财富 +%d
",n*2);
*computer+=n*2;
printf("您当前的财富为 %d
计算机当前财富为 %d
",*me,*computer);
if(*me < 0)
{
printf("我们非常遗憾地通知您,由于您的帐户欠费,我们做了一个艰难的决定,把您赶出赌场,大赌伤身,小赌宜情,回家好好过日子吧!
您被赶出了赌场!
");
return -1;
}
return 0;
}
else
{
printf("不分上下,打成平手,让我们再来决战一次吧!
");
printf("您的财富 +%d
",n);
*me+=n;
printf("计算机的财富 +%d
",n);
*computer+=n;
printf("您当前的财富为 %d
计算机当前财富为 %d
",*me,*computer);
return 0;
}
}
int main(int argc,char **argv)
{
int computer=MONEY;
int me=MONEY;
int me_n=0,computer_n=0;
int me_num=0,computer_num=0;
int o;
printf("欢迎来到掷骰子游戏!
现在是人机对战模式,您和计算机现在都拥有%d财富!
",MONEY);
printf("游戏规则:
按1键进行下注,不设置则默认按上次下的注计算
按0键进行掷骰子
按9键查看帮助
按2键查看自己的财富
按3键查看计算机的财富
按4键退出游戏
");
while(1)
{
printf("输入操作:");
scanf("%d",&o);
switch(o)
{
case 0:
if(me_n == 0)
{
printf("您还没有下注,请先下注!
");
break;
}
printf("开始掷骰子 . . .
");
me_num=get_num();
printf("您掷得的骰子为 %d
",me_num);
printf("计算机开始掷骰子 . . .
");
computer_num=get_num();
printf("计算机掷得的骰子为 %d
",computer_num);
if(win(me_num,computer_num,me_n,&me,&computer) == -1)
goto end;
break;
case 1:
while(1)
{
printf("请输入您的赌金:");
if(scanf("%d",&me_n) != 1)
{
printf("输入的赌金出错,请重新输入!
");
continue;
}
if(me_n > me)
{
printf("您的赌金不够,请重新输入!
");
continue;
}
if(me_n > computer)
{
printf("啊哦,计算机的财富没有这么多哦,您太厉害了,请输下一个计算机可承受的注吧!
");
continue;
}
break;
}
break;
case 2:
printf("您当前的财富为:%d
",me);
break;
case 3:
printf("计算机当前的财富为: %d
",computer);
break;
case 4:
goto end;
break;
case 9:
printf("游戏规则:
按1键进行下注,不设置则默认按上次下的注计算
按0键进行掷骰子
按9键查看帮助
按2键查看自己的财富
按3键查看计算机的财富
按4键退出游戏
");
break;
default:
printf("
错误的操作,请看帮忙!
");
}
}
end:
printf("游戏结束!
");
return 0;
}
switch(face){ //不要把赋值号和等号弄混淆了
case 7: gamestatus=win;break;
case 11:gamestatus=win;break;
case 2:gamestatus=lose;break;
case 3:gamestatus=lose;break;
case 12:gamestatus=lose;break;
default:gamestatus=contin;
C语言中关于掷骰子和赌注的代码编写
include <stdio.h>#include <stdlib.h>#include #define MONEY 200int get_num(void){ srand(clock()); return 1+rand()%6;}int win(int me_num,int computer_num,int n,int *me,int *computer){ if(me_num-computer_num > 0) { printf("太厉害了,您这把赢了呢!\\...
用C语言编写一个模拟掷骰子游戏谢谢了,大神帮忙啊
实践1:函数编程练习 1.掷骰子游戏 编写程序模拟掷骰子游戏。已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和。如果第一次投的点数和为7或11,则游戏者获胜;如果第一次投的点数和为2、3或12,则游戏者输;如果第一次投的点数和...
一道关于骰子的C语言问题
sum1 = touzi1 + touzi2;printf("第一次:\\n骰子和为%d\\n",sum1);if(sum1 == 11 || sum1 == 7){ printf("you win!\\n"); \/\/ 语句结束要加 ‘;’} \/\/ if 分支的语句块的花括弧要一一对应 else if(sum1 == 2 || sum1 == 12 || sum1 == 3) \/\/ else if 一般写...
求"掷色子"的C语言算法,或代码...
是“掷骰子”吧?!!这是掷骰子的程序:题目是这样子的:编写一个模拟掷骰子的程序,每个骰子从1-6,所以两个骰子组合数从2-12,随机投掷10000次,打印所有组合出现的概率!include<iostream.h> include include<stdlib.h> void main(){ int i=0;float a[13]={0};srand((unsigned)time(null)...
c语言编程,掷骰子游戏,掷三个骰子,我与电脑轮流坐庄,输了换庄,游戏结束...
cout << "开始掷骰子(输入1开始,输入0结束):" << endl;cin >> n;Me = rand() % 6 + 1;Computer= rand() % 6 + 1;nGames++;if (MC){ cout << "你做庄:" << endl;cout << "你的点数:" << Me << " 电脑的点数:" << Computer << endl;if (Me >= Computer){...
C语言问题,求助。掷骰子。
{return 7;}else{return (a<b?a:b);}}void main(){int sumA,sumB,i;sumA=sumB=0;srand(time(0));for(i=0;i<10;i++){sumA+=func();sumB+=func();if(i==4){if(sumA>1.3*sumB){printf("A:%d\\nB:%d\\n5局A获胜\\n",sumA,sumB);return;}else if(sumB>1.3*sumA)...
c语言掷骰子代码
include<stdio.h>#include<stdlib.h>#includeint main(void){int ai[3]; \/\/甲的三个骰子的点数int bi[3]; \/\/乙的三个骰子的点数int i;srand((unsigned)time(NULL)); \/\/播时间种子,产生随机数for (i = 0; i < 3; i++){ai[i] = rand() % 6 + 1; \/\/随机产生1-6的...
编写C语言掷骰子的代码?
int arraySum(const int * const a, int n) { int i = 0, sum = 0;for (; i < n; i++) { sum += a[i];} return sum;} int main(int argc, char *argv[]) { int i = 0;int a[3] = {0};int sum = 0;srand((int)time(0));for (; i < 3; i++) { a[...
c语言编程:模拟骰子的6000次投掷,编程统计并输出其6个面各自出现的概率...
\/\/用系统时间来初始化系统随机数的种子值 \/\/用循环产生6000次随机数,并记录每个点数出现的次数 for (roll=1; roll<=6000; roll++) { face = rand()%6 + 1; frequency[face]++; } printf("%4s%17s\\n", "Face", "Frequency"); \/\/输出每个点数出现的次数 f...
C++语言 掷100骰子,统计各点数出现的次数
include include<iostream> using namespace std;void main() { int i,a[6]; for ( i=0;i<6;i++ ) a[i]=0;srand((unsigned int)time(NULL));for ( i=0;i<100;i++ ) a[rand()%6]++;for ( i=0;i<6;i++ ) cout<<"["<<i+1<<"]"<<a[i]<<endl;} ...
麻嵇三臣: #include <stdlib.h> #include <stdio.h> #include <time.h>int arraySum(const int * const a, int n) {int i = 0, sum = 0;for (; i < n; i++) {sum += a[i];}return sum; }int main(int argc, char *argv[]) { int i = 0;int a[3] = {0};int sum = 0; srand((int)time(0))...
牡丹区13381684516: 求c语言代码关于“掷骰子”的 急求!!!! - ?
麻嵇三臣: 取水鸡数 1到6#include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> void main() { int i,j,y[10]; int m=2; // 如果是 2 粒骰子 (你可以改1,2,3,4,5,6...10) srand((unsigned)time(NULL)); for (j=0;j<10;j++){ // 掷 10 次 for (i=0;i<m;i++){ y[i] = rand() % 6+ 1; printf("%d ",y[i]); } printf("\n"); }}
牡丹区13381684516: C语言编写掷骰子游戏 - ?
麻嵇三臣: 实践1:函数编程练习1.掷骰子游戏编写程序模拟掷骰子游戏.已知掷骰子游戏的游戏规则为:每个骰子有6面,这些面包含1、2、3、4、5、6个点,投两枚骰子之后,计算点数之和.如果第一次投的点数和为7或11,则游戏者获胜;如果第一次...
牡丹区13381684516: 掷骰子的 C语言?
麻嵇三臣: #include#define MIDDLE_FLAG 1 #define INITIAL_SCORE 1000 int bet() { int rollresult; rollresult = rand()%6 + 1; //此处rand()为随机数,对6取余结果为0~5,需要+1修正为1~6 //printf("结果:%-4d",rollresult); if (rollresult > MIDDLE_...
牡丹区13381684516: c语言,骰子程序 - ?
麻嵇三臣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42#include <stdio.h> #include <time.h> #include <stdlib.h> introllDie(void) {returnrand()%6+1; } voiddrawDic(int* pdic,intn) {...
牡丹区13381684516: C语言 为什么说前2768个值出现的概率两倍对后面的值.题目:编写一个函数,通过返回一个范围为1至6的随机整数来模拟掷骰子.注意这6个值出现的概率... - ?
麻嵇三臣:[答案] 如果你试图用1+rand()%30000 当rand返回0~29999时,1+rand%30000返回1~30000,这些可认为是均等的,但是, 当rand返回30000~32767时,1+rand%30000返回1~2768,这些是不均等的. 相当于随机的从1,2,3,...,30000,1,2,3,...,2768中取数...
牡丹区13381684516: c# 编写一个掷骰子100次的程序,并打印出各点出现的次数 - ?
麻嵇三臣: Random random = new Random(); //实例化Random int[] sum =new int[100]; //声明一个整型数组int number;for (int i = 0; i < 100; i++){number=ra.Next(1, 7); //产生1到6的随机数 sum[i]=number;Console.WriteLine("第" +( i+1) + "...
牡丹区13381684516: 一道关于骰子的C语言问题?
麻嵇三臣: <p>LZ 的 if 分支的语法有问题,主要是 {} 的一一对应和 ; 结尾上面.书写规范的代码格式能有效减少这些问题的发生</p> <p>还有一些错误见下面修改过后的代码注释,以下代码 VS2010 通过,运行正常了</p> <p>======================...
牡丹区13381684516: C语言,把骰子投掷6000次,用数组算他们出现的次数 - ?
麻嵇三臣: roll[7]; roll[7] = { 0 }; 第一句,没有初始化roll数组,roll数组是一组不确定的数值,具体是什么数值取决于系统给roll分配的内存.后面的代码都是在这组不确定的数值上累加,所以,结果依然是一组不确定的数值.第二句,是将roll中的所有元素都初始化为0.后续代码是以0为基础计算的,所以结果是可以预见的.因此,写代码都最好将变量初始化,如int i = 0;可以的话,不要直接int i;就算了,养成良好的习惯可以避免很多低级的BUG,特别是写数以万行的代码时,如果这种写法导致一些奇怪的问题时,将会浪费你N多的时间去查错.
牡丹区13381684516: c语言程序补充 - ?
麻嵇三臣: #include #include int main(void){ int a,m; int t=1,d=6; char ans;ks: srand(time(NULL)); /*初始化随机数种子*/ a=rand()%(d-t)+...