189 8069 5689

rollem函数c语言 r语言roc函数

C语言问题

#includestdio.h

创新互联公司-专业网站定制、快速模板网站建设、高性价比青岛网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式青岛网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖青岛地区。费用合理售后完善,十载实体公司更值得信赖。

#includestdlib.h

#includetime.h

int roll_count=0;

int roll_n_dice(int dice,int sides);

int main(void)

{

int dice,roll;

int sides;

srand((unsigned int)time(0));定义随机函数的种子为当前系统时间

printf("Enter the number of sides per die.0 to stop.\n");

while(scanf("%d",sides)==1sides0) 如果sides有输入且大于0,循环急需

{

printf("How many dice?\n");

scanf("%d",dice); 输入dice的值

roll=roll_n_dice(dice,sides); 将dinc与sides的值传入函数roll_n_dice中,roll为接收量

printf("You have rolled a %d using %d %d-sided dice.\n",

roll,dice,sides); 打印着三个值

printf("How many sides? Enter 0 to stop.\n");

}键入0停止

printf("The rollem() function was called %d times.\n",

roll_count);打印roll_count的值

printf("GOOD FORTUNE TO YOU!\n");

getch();

}

static int rollem(int sides)

{

int roll;

roll=rand()%sides+1; 随机函数

++roll_count;

return roll; 返回roll的值

}

int roll_n_dice(int dice,int sides)

{

int d;

int total=0;

if(sides2)如果输入的sides小于2

{

printf("Need at least 2 sides.\n");sides最少需要2

return -2;返回-2

}

if(dice1)如果dice小于1

{

printf("Need at least 1 die.\n");

return -1;

}

for(d=0;ddice;d++)

total+=rollem(sides);调用rollem这个随机函数

return total;

不能srand是定义随机函数的种子值,也就是起始值,如果不定义的话随机函数运行不了,不过现在的vc好像已经默认定义种子是当前时间了

无法解析的外部符号 "int __cdecl roll_n_dice(int,int)" (?roll_n_dice@@YAHHH@Z

C和C++对函数的命名规则不同(C++需要支持函数重载,因此函数名必须包含参数类型),因此C++不能直接使用C的函数。而有些编译器只是按文件的后缀名区分C源文件和C++源文件,遇到在C++中调用C函数时就会报错……简单的解决方法就是把pe12-7.cpp的文件名改成pe12-7.c或diceroll.c的文件名改成diceroll.cpp

掷骰子交替游戏c++编程

一.rand()函数产生0到32767范围内的整数。 二.有且仅有5种规则立方体的所有面的形状和大小都相同(四、六、八、十二、二十面)。 三.算法:

⒈把随机数除以6(面数)取余数,余数在0到5间的整数;

⒉余数加一,得1到6的整数;

⒊因为骰子有不同的面数,因此把第一步的面数用变量sides代替。 四.源程序:

#include stdio.h

#include stdlib.h

#include time.h int main(void)

{

int rollem(int);

int roll_n_dice(int,int); int dice,roll,sides; /*骰数个数,总点数,一个骰子的面数*/ srand((unsigned int)time(0));

printf("输入骰子的面数(输入0退出):");

while(scanf("%d",sides)==1sides0)

{

printf("输入骰子的个数:");

scanf("%d",dice);

roll=roll_n_dice(dice,sides);

printf("使用%d个%d面骰子掷%d点。",dice,sides,roll);

printf("\n输入骰子的面数(输入0退出):");

}

return 0;

} int rollem(int sides)

{

int roll; roll=rand()%sides+1;

return roll;

} int roll_n_dice(int dice,int sides)

{

int d;

int total=0; if(sides2)

{

printf("至少两个面!!!\n");

return -2;

}

if(dice1)

{

printf("至少一个骰子!!!\n");

return -1;

}

for(d=0;ddice;d++) total+=rollem(sides);

return total;

}


分享标题:rollem函数c语言 r语言roc函数
分享地址:http://cdxtjz.cn/article/docjeod.html

其他资讯