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

猜数题c语言

发布时间: 2022-08-01 12:29:37

c语言猜数游戏(高低游戏)

#include <stdio.h>
#include <stdlib.h>
void clear()
{
scanf("%*[^\n]");
scanf("%*c");
} //清除输入缓冲区

void Inspect(int number,int cn)
{
int innum,flag=0;
while(cn<7 && flag==0){
printf("输入猜测的数据(0~99):");
scanf("%d",&innum);
if(innum==number)
{
flag=1;
printf("恭喜,猜对了,共用了%d次!\n",cn);
}
else if(innum>number)
{
cn++;
printf("很遗憾,你猜错了,是更小的数,你还有%d次机会!\n",7-cn);
}
else
{
cn++;
printf("很遗憾,你猜错了,是更大的数,你还有%d次机会!\n",7-cn);
}
}
if(cn==7){
printf("你已经没有机会尝试了,请重新再来\n");
printf("%d\n",number);
}
} //游戏主体判断函数

int main()
{
int number=rand()%100;
int cn=0;
char tp='y';
Inspect(number,cn);
while(tp=='y'){
printf("你还想继续尝试吗?(y/n):");
clear(); //清除输入缓冲区,防止之前的输入影响后面的代码执行
scanf("%c",&tp);
if(tp=='y') {cn=0;Inspect(number,cn);}
}
return 0;
}

Ⅱ 简单猜数字问题(C语言)

scanf("%d\n",&n); 改成 scanf("%d",&n);
输入的时候换行?

还有这些代码是不是没有写完整我在VS2008上调试少了几个头文件!

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
void compare(int x,int y);
void main()
{
int a,num;
srand((unsigned)time(NULL));
num=(1000+rand()%9000);/*随即产生一个1000-9999的数*/
printf("%d\n",num); /*输出产生的数字;*/
printf("please write in a four figures:");
scanf("%d",&a);/*输入第一个数;*/
compare(a,num); /*调用函数,产生的数与输入的数比较;*/
}
int count1=0;
int count2=0;
int sum=0;
int n;
void compare(int x,int y)
{

if(x>y)
{printf("The number is bigger.\n");
printf("please write in a four figures again:\n");
scanf("%d",&n);

count1=count1+1; /*记录输入数比产生数小的次数;*/
compare(n,y); /*继续调用函数比较;*/
}
if(x<y)
{
printf("The number is smaller.\n");
printf("please write in a four figures again:\n");
scanf("%d",&n);

count2=count2+1; /*记录输入数比产生数大的次数;*/
compare(n,y);
}

if(x==y) {printf("your are right.");
printf("The number is %d.\n",y);/*输出这个数*/
printf("The step is %d.\n",(count1+count2));}/*输出一共用了多少步骤*/

}

Ⅲ 一道C语言猜数游戏编程题

#include "stdio.h"
#include<time.h>
#include<stdlib.h>
void Guess(int magic, int guess)
{
static int c = 0;
c++;
if (magic == guess)
{
printf("\n你猜对了!\n你一共猜了%d次!", c);
exit(0);
}
if (magic < guess)
{
printf("\n太大了!\n");
}
else
{
printf("\n太小了!\n");
}
}
int main()
{
int m, n, i;
srand((int)time(0));
n=(rand() % 100) + 1;
//printf("n=%d\n",n);
for (i = 0; i < 10; i++) {
printf("请输入你猜测的数:");
scanf("%d", &m);
Guess(n, m);
}

return 0;
}

Ⅳ C语言:猜数问题!!

部分测试

Ⅳ C语言猜数题目

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
structValue
{
intV;
intC;
};
intmain(){
intsum=0;
intinput;
Valuevs[10];
srand(time(0));
for(inti=0;i<10;i++)
{
intx=rand()%100+1;
printf("开始第%d轮猜数游戏,共10轮 ",i+1);
vs[i].C=i+1;
vs[i].V=0;
for(intj=10;j>0;j--)
{
printf("输入猜的数:");
scanf("%d",&input);
if(input==x){
sum+=j*10;
vs[i].V=j*10;
printf("恭喜对了,获得%d分奖励",j*10);
break;
}
elseif(input>x)
{
printf("输入大了呀…… ");
}
else
{
printf("输入小了啊 ");
}
}
printf("本轮游戏结束,获得总积分:%d ",sum);

}

printf(" 游戏全部结束,统计表 ");
for(inti=0;i<9;i++)
{
for(intj=i+1;j<10;j++)
{
if(vs[i].C<vs[j].C){
Valuev=vs[i];
vs[i]=vs[j];
vs[j]=v;
}
}
}
for(inti=0;i<10;i++)
{
printf("名次:%d 得分:%d 轮次:%d ",i+1,vs[i].V,vs[i].C);
}
scanf("%d",&input);
return0;
}

为你刚写的……

Ⅵ 猜数游戏 c语言编程题

#include <stdio.h>
#include <time.h> //产生随机数需要此头文件

void main()
{
int n, in, t; //n为随机数,in为猜的数,t为猜的次数
srand((unsigned)time(NULL));//初始化随机数
while(1)
{
n = rand() % 100 + 1; //产生随机数
t = 0;
while(1)
{
printf(">");
scanf("%d", &in); //输入猜的数
if(in > 100 || in < 1)//输入非法
{
printf("illegal input\n");
continue;
}

t++; //放在这个位置,输入非法不会增加猜的次数

if(in > n)//大了
{
printf("Big\n");
}
else if(in < n)//小了
{
printf("Small\n");
}
else//猜对了
{
printf("Right, %d time(s)\n", t);
break;
}

if(t > 9)
{
printf("over\n");
}
}
}
}

Ⅶ c语言中猜题游戏。

includeamp;stdio.hamp;;includeamp;stdlib.hamp;;includeamp;math.hamp;;includeamp;time.hamp;;void main()/*主函数*/{ int a,b,times=0,i,j,guess=0,answer[5],g[5]; for(i=0;iamp;5;i++)/*随即产生5个数*/ { srand((unsigned int)time(NULL));/*以当前时间为种子*/ answer[i]=rand()%9+1;/*保证为1-9的数,rand产生随即0-65535的数,对9取余为0-8,都加1就是1-9了*/ for(j=0;jamp;i;j++) while(answer[i]==answer[j])/*检查有没有重复的数据,有就重新生成*/ { answer[i]=rand()%9+1; j=-1;/*新生成的数要重新检查,此步后马上执行j++*/ } } printf(;随即的5个数是:;); for(i=0;iamp;5;i++) printf(;%d;,answer[i]);/*输出结果到屏幕,便于测试*/ printf(;\n;); printf(;请输入猜测数字:\n%;); a=0; while(a!=5)/*a记录位置对并且数也对的,如果5个都对就是猜对了*/ { a=0; b=0;/*b记录数是有的,但位置不对的个数*/ times++; printf(;第 %d 次猜测:\t;,times); scanf(;%d;,amp;amp;guess); while(guessamp;12345guessamp;;99999)/*如果猜的数超过这个范围就是瞎猜的,肯定不对,再来一次*/ { printf(;你输入了一个非常规数据,请重新输入:\t;); scanf(;%d;,amp;amp;guess); } for(i=4;iamp;;-1;i--)/*把玩家猜的5个数放到数组中,便于检查对错*/ { g[i]=guess%10; guess=(guess-g[i])/10; } for(i=0;iamp;5;i++)/*检查数据对错*/ { for(j=0;jamp;5;j++) { if(g[i]==answer[j])/*如果猜得的数与结果的某个数一样就把b加1*/ { b++; if(i==j)/*如果位置也对,那就是a加1了,对应的b已经加过,应该减1*/ { a++; b--; } } } } printf(;猜测结果:%dA%dB\n;,a,b); if(a==5) printf(;\t答案正确\n;); /*如果a=5就是猜对了*/ }}

Ⅷ C语言编写猜数游戏

建议判断部分改一下。
1 分成两个循环判断
2 第一个循环先判断位置和值都正确的
3 第二个循环为嵌套循环,对于第一个循环判断正确的情况,不再判断。否则会出现错误结果。

另外一个建议,不要每次都去计算guess的各个位值,而是直接存到一个4位的数组中,对元素进行判断,代码会简单清晰得多。

Ⅸ 猜数字题目。C语言

#include<stdio.h>
main()
{
int i=50;//假设预置数字是50
int n;
int num=0;//num纪录输入次数
printf("input a num you guess(1-100):");
scanf("%d",&n);
while(n!=i)
{
if(n>i)
printf("big\n");
if(n<i)
printf("small\n");
num++;
printf("input a num you guess(1-100):");
scanf("%d",&n);
}
printf("great!!\n");
if(num<11)
printf("%dturns",num);
return 0;
}
大概是这样 因为在网吧,没调试 不过应该不太完善 没时间拉 稍作修改吧88

Ⅹ c语言猜数字

#include<stdio.h>
#include <time.h>
#include <stdlib.h>

int zishu;
int min=1,max=100;
void jieshou()
{
printf("请在%d到%d中输入您猜的数:",min,max);
scanf("%d",&zishu);
if(zishu<min||zishu>max)
{
printf("\n对不起,您输入的数不合法,请重新输入!");
scanf("%d",&zishu);
}
}

void main()
{
srand( (unsigned)time( NULL ) );
int suiji=rand()%100+1; //产生随机数
int cishu=0;

jieshou(); //接受用户猜的数

while(cishu!=10)
{
if(zishu>suiji) //判断
{
max=zishu;
jieshou();
}
else if(zishu<suiji)
{
min=zishu;
jieshou();
}
else
{
printf("您真牛逼!!这样也能猜对!!");
break;
}
cishu++;
}
if(cishu==10)
exit(0);
}