❶ 编写c语言掷骰子的代码
#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));
for (; i < 3; i++) {
a[i] = (rand() % 6)+1;
}
printf("%d,%d,%d\n", 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("小\n");
} else {
printf("大\n");
}
return 0;
}
❷ c语言“扔骰子”代码
#include "stdio.h"
#include "ctime.h"
void main(){
int a=1,b;
srand((unsigned int)time(0));
while(a)
{
b=rand()%6; \\记录随机数
if(!b) b=6; \\随机到0,即为掷出6
printf("You get %d this time!\n",); \\显示掷出的骰子数
printf("Try again? 1 means yes, 0 means no\n\n"); \\询问是否继续掷骰子
scanf(%d,&a);
}
}
❸ 编写程序c语言 模拟掷骰子游戏100次,编程统计并输出骰子的6个面各自出现的次数。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
intface;//储存每次色子的点数
introll;//投掷色子的次数(循环变量)
intfrequency[7]={0};//记录色子每个点数出现的次数
srand(time(NULL));//用系统时间来初始化系统随机数的种子值
//用循环产生100次随机数,并记录每个点数出现的次数
for(roll=1;roll<=100;roll++)
{
face=rand()%6+1;
frequency[face]++;
}
printf("%4s%17s ","Face","Frequency");
//输出每个点数出现的次数
for(face=1;face<=6;face++)
{
printf("%4d%17d ",face,frequency[face]);
}
system("pause");
}
❹ 求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");
}
}
❺ C语言问题,求助。掷骰子。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intfunc(){
inta,b;
a=rand()%6+1;
b=rand()%6+1;
if(a==b&&a==6){
return8;
}elseif(a==b){
return7;
}else{
return(a<b?a:b);
}
}
voidmain(){
intsumA,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 B:%d 5局A获胜 ",sumA,sumB);
return;
}elseif(sumB>1.3*sumA){
printf("A:%d B:%d 5局B获胜 ",sumA,sumB);
return;
}
}
}
if(sumA>sumB){
printf("A:%d B:%d 10局A获胜 ",sumA,sumB);
}elseif(sumB>sumA){
printf("A:%d B:%d 10局B获胜 ",sumA,sumB);
}else{
printf("A:%d B:%d 平局 ",sumA,sumB);
}
return;
}
❻ c语言编程,掷骰子游戏,掷三个骰子,我与电脑轮流坐庄,输了换庄,游戏结束询问是否结束,如果结束
掷骰子比大小,用随机数就可以,但是庄家的规则是咋样的没交代清楚(这里假定庄家的优势在于点数一样大时,庄家赢):
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int Me, Computer,n=1,MC=1;
int meWin = 0, nGames = 0;
srand((unsigned int)time(NULL));
while (n)
{
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)
{
meWin++;
cout << "恭喜你赢了!" << endl;
}
else
{
MC = 0;
cout << "哦,你输了!" << endl;
}
}
else
{
cout << "电脑做庄:" << endl;
cout << "你的点数:" << Me << " 电脑的点数:" << Computer << endl;
if (Computer >= Me)
cout << "哦,你输了!" << endl;
else
{
meWin++;
MC = 1;
cout << "恭喜你赢了!" << endl;
}
}
}
cout << "你赢的次数:" << meWin << " 输的次数:" << nGames - meWin << " 胜率:";
float p = (float)meWin / nGames;
int q = p * 100;
printf("%2d%% ", q);
system("pause");
return 0;
}
❼ C语言中关于掷骰子和赌注的代码编写
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#defineMONEY200
intget_num(void)
{
srand(clock());
return1+rand()%6;
}
intwin(intme_num,intcomputer_num,intn,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;
}
return0;
}
elseif(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;
}
return0;
}
else
{
printf("不分上下,打成平手,让我们再来决战一次吧! ");
printf("您的财富+%d ",n);
*me+=n;
printf("计算机的财富+%d ",n);
*computer+=n;
printf("您当前的财富为%d 计算机当前财富为%d ",*me,*computer);
return0;
}
}
intmain(intargc,char**argv)
{
intcomputer=MONEY;
intme=MONEY;
intme_n=0,computer_n=0;
intme_num=0,computer_num=0;
into;
printf("欢迎来到掷骰子游戏! 现在是人机对战模式,您和计算机现在都拥有%d财富! ",MONEY);
printf("游戏规则: 按1键进行下注,不设置则默认按上次下的注计算 按0键进行掷骰子 按9键查看帮助 按2键查看自己的财富 按3键查看计算机的财富 按4键退出游戏 ");
while(1)
{
printf("输入操作:");
scanf("%d",&o);
switch(o)
{
case0:
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)
gotoend;
break;
case1:
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;
case2:
printf("您当前的财富为:%d ",me);
break;
case3:
printf("计算机当前的财富为:%d ",computer);
break;
case4:
gotoend;
break;
case9:
printf("游戏规则: 按1键进行下注,不设置则默认按上次下的注计算 按0键进行掷骰子 按9键查看帮助 按2键查看自己的财富 按3键查看计算机的财富 按4键退出游戏 ");
break;
default:
printf(" 错误的操作,请看帮忙! ");
}
}
end:
printf("游戏结束! ");
return0;
}
❽ c语言掷骰子代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain(void)
{
intai[3];//甲的三个骰子的点数
intbi[3];//乙的三个骰子的点数
inti;
srand((unsigned)time(NULL));//播时间种子,产生随机数
for(i=0;i<3;i++)
{
ai[i]=rand()%6+1;//随机产生1-6的点数
bi[i]=rand()%6+1;
}
printf("甲的点数:");
for(i=0;i<3;i++)
{
printf("%d",ai[i]);
}
printf(" 乙的点数:");
for(i=0;i<3;i++)
{
printf("%d",bi[i]);
}
if(ai[0]+ai[1]+ai[2]>bi[0]+bi[1]+bi[2])
{
printf(" 甲获胜. ");
}
else{
printf(" 乙获胜. ");
}
return0;
}
❾ 求"掷色子"的C语言算法,或代码...
是“掷骰子”吧?!!这是掷骰子的程序:题目是这样子的:编写一个模拟掷骰子的程序,每个骰子从1-6,所以两个骰子组合数从2-12,随机投掷10000次,打印所有组合出现的概率!
#include<iostream.h>
#include<time.h>
#include<stdlib.h>
void
main()
{
int
i=0;
float
a[13]={0};
srand((unsigned)time(null));
int
num1=0,num2=0;
for(i=1;i<=10000;i++)
{
num1=rand()%6+1;
num2=rand()%6+1;
a[num1+num2]++;
a[0]++;
}
for(i=2;i<=12;i++)
{
cout<<i<<'
'<<'
';
cout<<(a[i]/a[0])*100<<'%';
cout<<endl;
}
}
❿ 掷骰子的 C语言
#include <time.h>
#include <stdio.h>
#include <string.h>
#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_FLAG)
return 1;
else
return 0;
}
int main()
{
int betscore,myscore = INITIAL_SCORE;
int resultflag, betflag, betresult;
char cinput[2], sresult[3];
printf("您的初始分数为%d\n",myscore);
srand((int)time(0)); //用时间创建随机数种子
while(1)
{
while(1)
{
puts("请压分:");
scanf("%d",&betscore);
if(betscore > myscore)
printf("您的剩余分数不够,为%d", myscore);
else
break;
}
fflush(stdin); //强制刷新缓冲区,防止上次输出影响
puts("请选择大小G为大L为小,X为退出:");
gets(cinput);
cinput[0] = cinput[0]%32+'A' - 1;
if(cinput[0] == 'X')
break;
else
betflag = (cinput[0] == 'G')?1:0;
//三目运算符“?”用法:x=(a>b)?a:b;相当于if(a>b)x=a;else x=b;
betresult = bet();
myscore = (betresult == betflag)?(myscore+2*betscore):(myscore-betscore);
strcpy(sresult, ((betresult!=0)?"大":"小"));
printf("结果为%s,您当前的分数为%d\n",sresult, myscore);
}
return 0;
}