猜数字1到100游戏编程c语言流程图(猜数字1到100游戏编程c++语言)
用C++编程工具:猜数游戏程序产生一个1到100之间的随机整数,并提供给用户7次猜数机会.
#includetime.h
#includestdio.h
#includestdlib.h
int main()
{
srand((unsigned )time(NULL));
int num=rand();//产生一个随即数(实际上是伪随机),如果需要产生很多个的话,可以在外层再加一个循环
num=num%100+1;
int guess;
int count=0;
puts("有一个数,你来猜猜看");
while(scanf("%d",guess))
{
if(guessnum)
{
puts("小了");
count++;
}
else if(guessnum)
{
puts("大了");
count++;
}
else
{
printf("bingo!!您共用了%d次回答正确\n",++count);
count=0;
break;
}
}
}
C语言题目 编程实现数字猜谜游戏!
一个函数用于生成一个随机数
再用一个函数进行三次循环
如果循环中输入的数字猜对了就返回1如果三次循环结束则返回0
主数字判断返回的结果如果是1则表示猜对否则表示猜错
然后询问是否继续进行猜数字游戏
下面是一个简单的代码
#include?stdio.h
#include?time.h
void?clean_input_buf(void)
{
????while(getchar()?!=?'\n');
}
int?make_num(int?num)
{
????srand(num);
????return?1+rand()%20;
}
int?guess_num(void)
{
????int?i=3;
????int?n;
????int?num;
????num=make_num(clock());
????while(i)
????{
????????printf("请输入一个你猜的数字:");
????????scanf("%d",n);
????????if(n?==?num)
????????????return?1;
????????clean_input_buf();
????????--i;
????}
????return?0;
}
int?main(int?argc,char?**argv)
{
????char?c;
????printf("猜数字游戏!\n游戏要猜测的数字为1-20,每个数字可以猜测3次!\n");
????while(1)
????{
????????if(guess_num()?==?1)
????????????printf("恭喜你,你猜中了!\n");
????????else
????????????printf("很遗憾,你猜错了!\n");
redo:
????????printf("还要继续游戏吗?继续输入Y否则输入N!\nY/N:");
????????c=getchar();
????????clean_input_buf();
????????if(c?==?'Y'?||?c?==?'y')
????????????continue;
????????else?if(c?==?'N'?||?c?==?'n')
????????????break;
????????else
????????{
????????????printf("输入错误,请重新输入!\n");
????????????goto?redo;
????????}
????}
????return?0;
}
猜数字游戏c语言编程一到五?
终端编码问题,我用了英文,但功能是完整的,图一乐:
#include?stdio.h
#include?stdlib.h
#include?time.h
int?main()?{
int?key,?input;
srand(time(NULL));
key?=?rand()?%?5?+?1;
printf("Guess?who?am?I??(from?1?to?5,?0?for?exit)\n");
printf("Your?answer:?");
while?(1)?{
scanf("%d%*c",?input);
if?(input?==?0)?{
break;
}?else?if?(input?==?key)?{
printf("Yes!?Congratulations!");
break;
}?else?{
printf("No...?Try?again!\nYour?answer:?");
}
}
return?0;
}
c语言:猜数字游戏代码
加了得分榜,没写排序,没时间了。自己加一下就OK
#include stdio.h
#include time.h
#include stdlib.h
#include string.h //以上的是要用到的头文件
int score=0;
void SELECT(int);
void Guess(int,int);
void Select();
void letsgo();
void NB(int); //以上的是函数原型
struct PLAYER
{
char name[10];
int plscore;
};
void save()
{ printf("您的得分是%i",score);
PLAYER player;
printf("请输入姓名:");
scanf("%s",player.name);
player.plscore=score;
FILE *fp;
if((fp=fopen("record.txt","ab"))==NULL)
{
printf("不能打开文件!");
exit(0);
}
fwrite(player,sizeof(PLAYER),1,fp);
printf("记录保存完毕!");
fclose(fp);
}
void print()
{
printf("分数榜:");
FILE *fp;
if((fp=fopen("record.txt","rb"))==NULL)
{
printf("不能打开文件!");
exit(0);
}
PLAYER player;
while(fread(player,sizeof(PLAYER),1,fp)==1)
{
printf("\n姓名:%s\n",player.name);
printf("分数:%i\n",player.plscore);
}
fclose(fp);
}
void main()
{
char end;
printf(" \t\t欢迎光临!!\n\t 在这里我将来测试你的运气!\n");
printf(" 请你猜下数字,但机会就只有三次!!\n");
printf("\n 1、开始游戏^__^\n 2、我是倒霉鬼,我不玩\n 3、查看分数榜");
printf(" 请选择1或2\n");
Select();
printf("\n按任意键退出");
fflush(stdin);
end=getchar();
if(score0)
save();
printf("Thanks For Playing \2 886\n");
}
void Select()
{
int s;
static int lihai=0;
fflush(stdin);
scanf("%d",s);
switch(s)
{
case 1:
letsgo();break;
case 2:
printf("唉,你不想玩,我就不逼你咯\n");exit(0);
case 3:print();
break;
default:
lihai++;
if(lihai==3||lihai==5)
{
NB(lihai);
break;
}
printf("你输入的是什么啊!重新输入 1 或 2 \n ");
Select();
}
}
void letsgo()
{
int select;
printf("请你选择猜数字的难度\n ");
printf("1、简单-猜测 0 到 9 的数字\n ");
printf("2、一般-猜测 0 到 99 的数字\n ");
printf("3、困难-猜测 0 到 999 的数字\n ");
printf("请不要乱选!!\n");
scanf("%d",select);
switch(select)
{
case 1:SELECT(10);break;
case 2:SELECT(100);break;
case 3:SELECT(1000);break;
case 4:print();
default:
{
printf("请不要乱选!!\n");
letsgo();
}
}
}
void NB(int l)
{
char a[20];
static int jihui=0;
printf("\n老大!我服了你,%d 次都输入错误。\n",l);
printf("\n可能你在捣乱~~\n");
printf("(如果不想结束,请输入[sorry]中括号内的否则结束游戏)\n");
fflush(stdin);
gets(a);
if (strcmp(a,"sorry")==0||strcmp(a,"SORRY")==0)
{
jihui++;
if(jihui==2)
{
printf("\n死性不改。道歉也没有用了!\n");
goto end;
}
printf("好吧。给你次机会请输入 1 或 2 \n ");
Select();
}
end:
printf("");
}
void SELECT(int n)
{
int num;
srand((unsigned)time(NULL));
num=rand()%n;
if(n==10)
{
n=3;
printf("\n你有 %d 次猜测的机会\n",n);
}
if(n==100)
{
n=5;
printf("\n你有 %d 次猜测的机会\n",n);
}
if(n==1000)
{
n=7;
printf("\n你有 %d 次猜测的机会\n",n);
}
Guess(num,n);
}
void Guess(int num,int n)
{
int search,k,o;
static int i=1;
char ans;
if(n==3)
k=10;
if(n==5)
k=100;
if(n==7)
k=1000;
o=(num-k/1)%k;
if(o0)
o=0;
printf("\n请猜这个数是多少(在%d到%d):",o,(k/5+num)%k);
fflush(stdin);
scanf("%d",search);
if(numsearch)
printf("\n小了\n");
if(numsearch)
printf("\n大了\n");
if(num==search)
{
printf("\n恭喜您了!你在第 %d 次猜对了\n",i);
score+=10;
printf("是否继续y / n:\n");
fflush(stdin);
ans=getchar();
if(ans=='y'||ans=='Y')
{
i=1;
letsgo();
}
}
else
{
i++;
if(i=n)
Guess(num,n);
else
{
printf("\n你的 %d 次机会已经没有了!!,答案是 %d \n",i-1,num);
printf("是否继续y / n:\n");
fflush(stdin);
ans=getchar();
if(ans=='y'||ans=='Y')
{
i=1;
letsgo();
}
}
}
}
满意请采纳。
c语言,编写一个猜数字游戏
源码如下:
/*?File:?guess.c?*/
#include?stdio.h??/*?standard?input??output?support?*/
#include?stdlib.h?/*?srand()?rand()?*/
#include?time.h???/*?time()?*/
/*?宏定义?*/
#define?NUMBER_LENGTH???5???/*?随机数长度?*/
#define?NUMBER_LIMIT????10??/*?随机数限制,?每一位0-9?*/
#define?INPUT_LENTH?????128?/*?输入缓冲区大小?*/
char?goal[NUMBER_LENGTH]????=?{0};??/*?保存随机数?*/
char?flag[NUMBER_LIMIT]?????=?{0};??/*?保存随机数标志,?保证不重复?*/
char?input[INPUT_LENTH]?????=?{0};??/*?保存输入?*/
/*?初始化用于保存数据的数组?*/
void?initData()
{
int?i?=?0;
while?(i??NUMBER_LENGTH)
goal[i++]?=?0;
i?=?0;
while?(i??NUMBER_LIMIT)
{
flag[i++]?=?0;
}
}
/*?初始化用于保存缓冲区的数组?*/
void?initBuffer()
{
int?i?=?0;
while?(i??INPUT_LENTH)
input[i++]?=?0;
}
/*?显示猜测结果?*/
void?display()
{
int?count?=?0;
int?i?=?0;
while?(i??NUMBER_LENGTH)
{
if?(input[i]?==?goal[i])
{
printf("%c",?'o');
count++;
}
else
{
printf("%c",?'x');
}
i++;
}
printf("\nRIGHT:?%d?bit(s)\n",?count);
if?(count?==?NUMBER_LENGTH)
{
printf("You?win!?The?number?is?%s.\n",?goal);
exit(0);
}
}
/*?生成随机数?*/
void?general()
{
/*?以时间作为时间种子保证生成的随机数真正具有随机性质?*/
srand((unsigned?int)time(NULL));
int?i?=?0;
while?(i??NUMBER_LENGTH)
{
char?tmp;
do
{
tmp?=?'0'?+?((i?!=?0)???(rand()?%?10)?:?(1?+?rand()?%?9));
}?while?(flag[tmp]?!=?0);
flag[tmp]?=?1;
goal[i++]?=?tmp;
}
}
/*?输入方法,用于猜测?*/
void?guess()
{
printf("Please?input?the?number?you?guessed:\n");
scanf("%s",?input);
display();
initBuffer();
}
/*?主函数,程序主框架?*/
int?main?(int?argc,?const?char?*?argv[])
{
initData();
initBuffer();
general();
while?(1)?guess();
return?0;
}
==============================================
运行结果见附图,希望我的回答能够对你有所帮助。