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

c语言猜字教程

发布时间: 2022-06-13 16:33:33

① 怎样用c语言实现猜字游戏

//电脑随机生成一个50以内的整数,然后从键盘输入一个整数猜系统生成的数,直到猜对为止,并输出所猜次数。
#include<stdio.h>
#include
<stdlib.h>
#include<time.h>
void
main()
{
int
count=0;
int
flag=1;
do
{
srand(time(NULL));
int
num1,num=rand()%51;
printf("请输入您要猜的数(0-50):");
scanf("%d",&num1);
if(num1>50)
{
printf("输入有误,请重新输入\n");
continue;
}
printf("随机数为:%d\n",num);
count++;
if(num1==num)
{
flag=0;
}
printf("猜错了!3请继续\n\n\n");
}while(flag);
printf("%d",count);
}

② C语言用循环猜字游戏:使用随机数生成一个三位数作为谜底进行猜字游戏,每次猜的时候给出提示,

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int a,b,c=10;
srand(time(NULL));
a=rand()%1000;
printf("系统已经给出了一个0-999的数,请输入一个数。\n");
while(1)
{ c--;
scanf("%d",&b);
if(b>a)
printf("猜大了,还剩%d次机会,请继续\n",c);
if(b<a)
printf("猜小了,还剩%d次机会,请继续\n",c);
if(b==a)
{ printf("恭喜你答对了\n");
printf("系统给的数是:%d",a);
break;}
if(c==0)
{ printf("你已经没有机会了,请重新开始吧!\n");break;}
}

}

③ 设计一个猜字游戏的C语言程序

把下面的cout是输出。
用c语言的输出就行。
#include
<time.h>
#include
<stdlib.h>
int
main()
{
int
x;
cout<<"输入任意数字开始。"<<endl;
//使用
输入是否为
数字来判断是否继续猜
scanf("%d",&x);
while(x)
{
srand((int)time(0));
int
m
=
rand()%100+1;//生成随机数m范围1到100
int
i
=0,n;
for
(;i<10;i++)//判断是否才对,10次为限,i用来计算才对次数
{
cout<<"input
the
number
you
guess:"<<endl;
scanf("%d",&n);
if(
n
>
m
)
cout<<"wrong,too
high!"<<endl;
if(
n
<
m
)
cout<<"wrong,too
low!"<<endl;
if(
n
==
m)
{cout<<"right,and
the
times
you
have
guessed
is"<<i<<"."<<endl;break;}
}
cout<<"输入任意数字继续。"<<endl;
scanf("%d",&x);
}
return
0;
}

④ C语言写猜字游戏

/*你说的功能基本达到了,但是样式没有怎么调整,你自己看下吧*/
#include<stdio.h>
#include<stdlib.h>
void getNum(int a[]) /*产生随机数*/
{int i,j;
randomize();
a[0]=random(10);
for(i=1;i<4;i++)
{
a[i]=random(10);
for(j=i-1;j>=0;j--)
if(a[i]==a[j])
{i--;
break;
}
}
}

void inputNum(int b[]) /*输入数字,并保证没有重复数字*/
{int i,j;
puts("Input number:");
laber:;
scanf("%d%d%d%d",&b[0],&b[1],&b[2],&b[3]);
for(i=3;i>0;i--)
for(j=0;j<i;j++)
if(b[j]==b[i])
{puts("Input again:");
goto laber;
}
}

main()
{int a[4],b[4],c[10][4],A=0,B=0,correct[10][2],count=0,i,j;
char ch;
laber:;
system("cls");
getNum(a);
while(count<10) /*最多猜10次*/
{puts("Browse the historic document?(Y/N)"); /*是否查看历史记录*/
ch=getchar();
if(ch=='Y'||ch=='y')
for(i=0;i<count;i++)
{printf("%d:",i+1);
for(j=0;j<4;j++)
printf("%d\t",c[i][j]);
printf("%dA %dB",correct[i][0],correct[i][1]);
putchar('\n');
}
putchar('\n');
inputNum(b);
for(i=0;i<4;i++)
c[count][i]=b[i];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{if(a[i]==b[j]&&i==j)
A++;
else if(a[i]==b[j]&&i!=j)
B++;
}
if(A==4)
{puts("Congratulations!!");
getch();
break;
}
else
printf("%dA %dB\n",A,B);
correct[count][0]=A;
correct[count][1]=B;
count++;
A=0;B=0;
getchar();
}
getchar(); /*是否再猜一次*/
puts("Guess again?");
ch=getchar();
if(ch=='Y'||ch=='y')
goto laber;
}

⑤ 用C语言编写一个猜数字游戏的程序(最好附带说明)

有偿,先程序后cash ,有意加我

⑥ C语言编写一个猜字游戏,,,遇到了问题· 请教高人

把这句话放循环外。
printf("很遗憾,你没猜中本次中奖号码,谢谢你的参与:!\n");

另外,新定义个flag,表示被猜中了。初始化为false。
如果猜中,就在恭喜那个程序块中设置为true。
然后在很遗憾那句前面加上对这个flag的判断,如果=false,则输出很遗憾这句话

⑦ 如何用c语言写一个猜数字游戏,我输入正确数字,让电脑自动去猜

网页链接

与上述引用同一种问题。

//二分法查找数据,1-100内查找一个数据,查找一次需要判断一下YesorNo.
#include<stdio.h>
intmain()
{
//初始化
intlow=1,high=100,guess,mid=low,k=0;
chara='n';
//主体
printf("Pleaseinputintegerfrom1to100,Iwilltrytoguessit. ");
scanf("%d",&guess);
printf("Ifiguesstrueinput'y',elseinput'n'. ");
while(1)
{
printf("测试循环了%d次 ",k++);
mid=(low+high)/2;
printf("Um...isyournumberis%d? ",mid);
getchar();//作用:“吃掉”‘ ’,否则下一行的scanf函数会读入回车符号。
scanf("%c/n",&a);
if(a!='y')
{
if(mid<guess)//猜测数在mid--high之间
{
low=mid;
}
elseif(mid>guess)//猜测数在low--mid之间
{
high=mid;
}
}
elsebreak;
}

return0;
}


⑧ c语言,编写一个猜数字游戏

源码如下:

/*File:guess.c*/

#include<stdio.h>/*standardinput&outputsupport*/

#include<stdlib.h>/*srand()rand()*/

#include<time.h>/*time()*/

/*宏定义*/

#defineNUMBER_LENGTH5/*随机数长度*/

#defineNUMBER_LIMIT10/*随机数限制,每一位0-9*/

#defineINPUT_LENTH128/*输入缓冲区大小*/

chargoal[NUMBER_LENGTH]={0};/*保存随机数*/

charflag[NUMBER_LIMIT]={0};/*保存随机数标志,保证不重复*/

charinput[INPUT_LENTH]={0};/*保存输入*/

/*初始化用于保存数据的数组*/

voidinitData()

{

inti=0;

while(i<NUMBER_LENGTH)

goal[i++]=0;

i=0;

while(i<NUMBER_LIMIT)

{

flag[i++]=0;

}

}

/*初始化用于保存缓冲区的数组*/

voidinitBuffer()

{

inti=0;

while(i<INPUT_LENTH)

input[i++]=0;

}

/*显示猜测结果*/

voiddisplay()

{

intcount=0;

inti=0;

while(i<NUMBER_LENGTH)

{

if(input[i]==goal[i])

{

printf("%c",'o');

count++;

}

else

{

printf("%c",'x');

}

i++;

}

printf(" RIGHT:%dbit(s) ",count);

if(count==NUMBER_LENGTH)

{

printf("Youwin!Thenumberis%s. ",goal);

exit(0);

}

}

/*生成随机数*/

voidgeneral()

{

/*以时间作为时间种子保证生成的随机数真正具有随机性质*/

srand((unsignedint)time(NULL));

inti=0;

while(i<NUMBER_LENGTH)

{

chartmp;

do

{

tmp='0'+((i!=0)?(rand()%10):(1+rand()%9));

}while(flag[tmp]!=0);

flag[tmp]=1;

goal[i++]=tmp;

}

}

/*输入方法,用于猜测*/

voidguess()

{

printf(": ");

scanf("%s",input);

display();

initBuffer();

}

/*主函数,程序主框架*/

intmain(intargc,constchar*argv[])

{

initData();

initBuffer();

general();

while(1)guess();

return0;

}

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

运行结果见附图,希望我的回答能够对你有所帮助。

⑨ C语言编写猜数字游戏

#include <stdlib.h>
#include <stdio.h>
//#include <iostream>
unsigned char Num[4] = {0},getNum[4] = {0x20,0x20,0x20,0x20};
void help(void)
{
char i =0,j = 0;
for(i =0;i<4;i++)
{
for(j = 0;j<4;j++)
if(Num[j] == getNum[i])
{
if(i==j)
printf("%dth is correct!\r\n",i);
else
{
printf("%d is a correct data\r\n",getNum[i]);
}

}
else
{
if(i == 3&&j==3)
{printf("/********************small game*****************/\
input 4 data gess the random data,input h can get help\
");}
}
}
}

void main( void )
{
int orginal = 0,getdata = 0,i = 0,j = 0;
// { int a;a = 878*101;cout<<a<<endl}
//first = 0,second = 0,third = 0,fourth = 0;
/* Seed the random-number generator with GetTickCount so that
the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );

orginal = rand();
Num[3] = orginal%10000/1000;
Num[2] = orginal%1000/100;
Num[1] = orginal%1000%100/10;
Num[0] = orginal%10;
// printf(" %d",orginal);
for(i = 0;i<4;)
{

for(j = i+1;j<4;j++)
{
if(Num[i]==Num[j])
{ Num[i]++;if(Num[i]>9) Num[i] = 0;i=0;break;}
}
if(j == 4)i++;
}
get: for(i = 0;i<4;)
{
printf("input Num %d ",i);
scanf("%s",&getNum[i]);

if(getNum[i]-0x30>9||getNum[i]-0x30<0)
{
if (getNum[i] == 'H'||getNum[i] =='h')
{
help();
}
else
printf("input one num\r\n");
//if(i>0)i--;
}
else
{
getNum[i] -=0x30;
for(j = 0;j<i;j++)
{
if(getNum[i] == getNum[j])
{printf("have a same data,please input another\r\n"); break;}
}

if(j==i)
i++;
}
}
printf("you input num %d%d%d%d Y or N?\r\n",getNum[0],getNum[1],getNum[2],getNum[3]);
do{
scanf("%c",&j);
printf("%c",j);
if((j == 'N') || (j == 'n'))goto get;
}while( !((j == 'Y') || (j == 'y')));
printf("over");

}