tags:C
初学自学随机数的相关代码
by – catherine
目录
1.rand
#include<stdio.h>
#include<stdlib.h>
int main() {
int i;
for (i = 1; i <= 10; i++) {
printf("%10d", 1 + (rand()%6));
if (i%5 == 0) {
printf("\n");
}/*end if*/
}
return 0;
}
2.srand(seed)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
int i;
unsigned seed;
printf("enter seed: ");
scanf("%u", &seed);
srand(seed);
for (i = 1; i <= 10; i++) {
printf("%10d", 1 + (rand()%6));
if (i%5 == 0) {
printf("\n");
}
}
return 0;
}
3.a game of chance1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
enum Status {CONTINUE, WON, LOST};
int rollDice(void);
int main() {
int sum;
int myPoint;
enum Status gameStatus;
srand( time(NULL) );
sum = rollDice();
switch(sum) {
case7:
case11:
gameStatus = WON;
break;
case2:
case3:
case12:
gameStatus = LOST;
break;
default:
gameStatus = CONTINUE;
myPoint = sum;
printf("Point is %d\n", myPoint);
break;
}/*end switch*/
while (gameStatus == CONTINUE) {
sum = rollDice();
if (sum == myPoint) {
gameStatus = WON;
} else {
if (sum == 7) {
gameStatus = LOST;
}/*end if*/
}/*end else*/
}/*end while*/
if (gameStatus == WON) {
printf("Player wins\n");
} else {
printf("Player loses\n");
}
return 0;
}/*end main*/
int rollDice(void) {
int die1;
int die2;
int workSum;
die1 = 1 + (rand()%6));
die2 = 1 + (rand()%6));
workSum = die1 + die2;
printf("Player rolled %d + %d = %d\n", die1, die2, workSum);
return workSum;
}
enum
enum:枚举
默认第一个数为0,接下去每个数一次加一。
- rollDice是自定义的一个投色子的函数。
↩