rand()函数会产生一个随机值,在同一工程下,随机值一样。
srand()函数使在同一工程下的随机值每次不同,用此函数要加头文件#include<time.h>。
编写主函数以外的函数fun(),game()和rank()。
代码如下:
#include<stdio.h> #include<stdlib.h> #include<time.h> void game(int times) { int ret,input,i; printf("欢迎使用猜数字游戏"); srand((unsigned int)time(NULL));/*设置随时间变化的随机数*/ ret=rand()%100;/*产生0~100随机数*/ for(i=0;i<times;i++) { printf("请输入数字:\n"); scanf("%d",&input); if(input<ret)printf("你猜小了,请重猜。\n"); else if(input>ret) { printf("你猜大了,请重猜。\n"); } else { printf("恭喜你猜对了。\n");break; } } if(i==times) { printf("挑战失败。"); } } void rank(choose) { int t=0,times=0; printf("请输入1~3(1为简单,2为一般,3为困难)"); scanf("%d",&choose); if(choose==1) { printf("自定义输入次数:"); scanf("%d",&t); times=t; } if(choose==2) { times=6; } if(choose==3) { times=3; } game(times); } void fun() { printf("\n\n\t\t\t\t猜数字游戏\n"); printf("\t\t\t***************************\n"); printf("\t\t\t*******1、开始游戏。*******\n"); printf("\t\t\t*******2、游戏级别。*******\n"); printf("\t\t\t*******0、结束游戏。*******\n"); printf("\t\t\t***************************\n"); } int main() { int slect=1,choose=1,times=30; while(slect) { fun(); printf("请选择序号:"); scanf("%d",&slect); switch(slect) { case 1:game(times);break; case 2:rank(choose);break; default:break; } } system("pause"); return 0; }