当前位置:首页 » 编程语言 » 统计骰子点数c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

统计骰子点数c语言

发布时间: 2022-12-13 03:15:43

Ⅰ 一道关于骰子的c语言问题

LZ的if分支的语法有问题,主要是{}的一一对应和;结尾上面。书写规范的代码格式能有效减少这些问题的发生

还有一些错误见下面修改过后的代码注释,以下代码VS2010通过,运行正常了

=========================================================================

#include<stdio.h>

#include<stdlib.h>//srand()rand()在该头文件中声明,VS2010要求包含它

#include<time.h>

intmain()

{

srand((unsigned)time(NULL));//这里参数是NULL没NELL这个宏

inttouzi1,touzi2,sum1,sum2;

touzi1=rand()%6+1;

touzi2=rand()%6+1;

sum1=touzi1+touzi2;

printf("第一次: 骰子和为%d ",sum1);

if(sum1==11||sum1==7)

{

printf("youwin! ");//语句结束要加‘;’

}//if分支的语句块的花括号要一一对应

elseif(sum1==2||sum1==12||sum1==3)//elseif一般写在同一行,这里不加‘;’

{

printf("youlose! ");//同上‘;’结束语句

}//同上,分支花括号一一对应

else

{

for(intn=7;n!=0;--n)//这里用for循环会更加直观

{printf(" 第二第%d次 ",8-n);

touzi1=rand()%6+1;

touzi2=rand()%6+1;

sum2=touzi1+touzi2;

printf("骰子和为%d ",sum2);

if(sum2==sum1)

{

printf("youwin! ");

return0;//玩家赢游戏结束,退出程序用return0;

}

}

printf("youlose! ");

}

}//缺少一个闭合的“}”

Ⅱ 掷100次骰子,统计各点数出现的。麻烦帮忙编程,谢啦!

你是要求各个点数出现的概率还是要这100次的显示结果?这个掷100次骰子可以再C语言中模拟实现的。

Ⅲ C语言 掷100骰子,统计各点数出现的次数

用随机数来模拟摇骰子

#include<stdio.h>
#include<time.h>/*用到了time函数*/

#defineLEN100/*随机数个数*/
#defineMIN1/*随机数最小值*/
#defineMAX6/*随机数最大值*/

intmain(void){
inti,randArr[LEN],count[6]={0};

srand((unsigned)time(NULL));/*用时间做种,每次产生随机数不一样*/
for(i=0;i<LEN;i++){
randArr[i]=rand()%(MAX-MIN+1)+MIN;/*产生MIN~MAX的随机数*/
count[randArr[i]-1]++;
}

printf("摇%d次骰子的点数结果: ",LEN);
for(i=0;i<LEN;i++){
printf("%d ",randArr[i]);
if(i+1%5==0)/*每输出5个数换一行*/
putchar(' ');
}
putchar(' ');

puts("各点数出现次数统计:");
for(i=0;i<6;i++)
printf("%d点:%d ",i+1,count[i]);
putchar(' ');

getch();/*屏幕暂留*/
return0;
}

运行结果

Ⅳ C++两个人玩骰子怎么确定他们的数

具体操作步骤:
1)在VC++中建立一个工程;
2)在程序开始的注释行中写上你自己的信息;
3)生成1-6之间的一个随机数,为了使随机数更随机,可以使用随机数初始化函数srand()
模拟掷骰子的程序段参考如下:
printf(" 请掷骰子(按Enter键)");
getchar();
srand((unsigned)time(NULL));
num1=rand()%6+1;
printf(" 您掷的骰子点数是%d ",num1);
为了使上面一段程序能够正常编译连接,在程序开始应该包含下面的头文件:
#include"stdlib.h"
#include"time.h"
4)在程序编译正确后,要求在程序运行时提示您按ENTER键(模拟掷骰子).
在你按ENTER键后,生成第一个随机数,并进行显示;
之后提示你第二次掷骰子(按ENTER键),在你按ENTER键后,生成第二个随机数,并进行显示。
可以利用getchar()函数等待按下ENTER。注意在需要时使用函数fflush(stdin)清除键盘缓冲区。
5)使用ifelse转移控制语句判断两次生成的随机数的大小,分别根据不同情况输出下面的语句之一:
" Player1的点数大,Player1胜出! "
" Player2的点数大,Player2胜出! "
" Player1和Player2点数一样大,平局! "

Ⅳ 投100次骰子,统计1-6出现的次数。 用C语言编程。

#include"stdio.h"

#include"time.h"

#include"stdlib.h"

main()

{

system("cls");

inti,j,b;

inta1[100],a2[100],a3[100],a4[100],a5[100],a6[100],g[100];

intn1=0,n2=0,n3=0,n4=0,n5=0,n6=0;

j=0;

//b=0;

srand(time(NULL));

for(i=0;i<100;i++)

{

g[i]=rand()%6+1;

if(g[i]==1)

{

n1++;

}

if(g[i]==2)

{

n2++;

}

if(g[i]==3)

{

n3++;

}

if(g[i]==4)

{

n4++;

}

if(g[i]==5)

{

n5++;

}

if(g[i]==6)

{

n6++;

}

}

//printf("No.1:");

//for(j=0;j<6;j++)

//{

printf("出现1的次数为%d ",n1);

printf("出现2的次数为%d ",n2);

printf("出现3的次数为%d ",n3);

printf("出现4的次数为%d ",n4);

printf("出现5的次数为%d ",n5);

printf("出现6的次数为%d ",n6);

printf(" ");

//}

printf("总数为%d(校验) ",n1+n2+n3+n4+n5+n6);

//b=sizeof(a)/sizeof(int);

//for(i=0;i<j;i++)

//{

//printf("%d次",a[j]);

//}

//printf(" ");

//return0;

while(1);

}

刚刚你那个,我加的,所以很乱。。。最基本的if判断和printf输出。你看看

Ⅵ C语言求解,急在线等!

#include<stdio.h>
#include<stdlib.h>

intmain(intargc,char*argv[]){
chars[100]={""};
chars1[50]={""};
chars2[50]={""};
printf("请输入第一个字符串:");//字符串可包含空格
scanf("%[^ ]",s1);
fflush(stdin);
printf("请输入第二个字符串:");//字符串可包含空格
scanf("%[^ ]",s2);
inti=0,j=0;
while(1)
{
if(s1[i]!='')
{
s[i]=s1[i];
i++;
}
else
{
break;
}
}
while(1)
{
if(s2[j]!='')
{
s[i]=s2[j];
i++;
j++;
}
else
{
break;
}
}
printf(" 合并后的字符串为:%s",s);
return0;
}

Ⅶ C语言,编程模拟骰子的一万次投掷,统计并输出骰子的六个面各自出现的概率。学的数组

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int main()

{int i,x,a[6]={0};

srand((unsigned int)time(NULL));

for(i=0;i<10000;i++)

{

x=rand()%6;

a[x]++;

}

printf("投掷10000次 ");

for(i=0;i<6;i++)

printf("%d点出现:%d ",i+1,a[i]);

return 0;

}

Ⅷ C语言,把骰子投掷6000次,用数组算他们出现的次数

roll[7];
roll[7] = { 0 };
第一句,没有初始化roll数组,roll数组是一组不确定的数值,具体是什么数值取决于系统给roll分配的内存。后面的代码都是在这组不确定的数值上累加,所以,结果依然是一组不确定的数值。
第二句,是将roll中的所有元素都初始化为0。后续代码是以0为基础计算的,所以结果是可以预见的。
因此,写代码都最好将变量初始化,如int i = 0;可以的话,不要直接int i;就算了,养成良好的习惯可以避免很多低级的BUG,特别是写数以万行的代码时,如果这种写法导致一些奇怪的问题时,将会浪费你N多的时间去查错。

Ⅸ 掷100次骰子,统计各点数出现的次数。用c语言做的!拜托了 !!!

/*投骰子并统计
2011- 10-10
By Jimmy
*/

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

//模拟一次投骰子的函数,返回值为0~5,表示骰子的六个面
int get_number(void)
{
int num = 0;
num = rand() % 6;
return num;
}

main()
{
int data[6];
int i=0;
srand(time(NULL));//设置随机数种子
for( i=0 ; i < 6 ; i++)//数据初始化
{
data[i]=0;
}
for( i=0 ; i<100 ; i++)//进行100次试验
{
data[get_number()]++;
}
for( i=0 ; i < 6 ; i++)//统计结果输出
{
printf("点数为%d的次数为 : %d\n",i+1,data[i]);
}

return 0;
}

Ⅹ 编写程序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");
}