当前位置:首页 » 课程大全 » c课程设计报告猜数游戏

c课程设计报告猜数游戏

发布时间: 2021-02-22 03:55:54

① 猜数游戏C语言程序设计

这道题不难,只要知道怎样用c语言生成1~100的随机数就很好办了!

附代码如下!
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
intmain()
{
index:
printf("请选择是否进行猜数! 1:是 0:否 ");
intj;
scanf("%d",&j);
if(j==0)
return0;
inti,x=rand()%100+1,input;
for(i=0;i<10;i++)
{
printf("请输入猜想的1至100之间的整数:");
scanf("%d",&input);
if(input==x)
{
printf("猜想正确! 你一共猜想了%d次 ",i+1);
gotoindex;
}
if(input<x)
{
if((i+1)>=10)
{
printf(" 此次猜想失败! ");
gotoindex;
}
else
printf("所猜数过小! 请再猜一次! ");
}
if(input>x)
{
if((i+1)>=10)
{
printf(" 此次猜想失败! ");
gotoindex;
}
else
printf("所猜数过大! 请再猜一次! ");
}
}
}
为了简化,使用了goto语句。

② C语言程序设计题《猜数字游戏》

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

#define N 4/*随机抽N个数*/
#define NUM 8/*NUM次猜数的机会*/

void detect(char s[])
{
int i,j,num;
int a,b;
char ch[N];
for(num=0;num<NUM;num++)
{
a=b=0;
printf("第%d次机会:",num+1);
for(i=0;i<N;i++)
{
ch[i]=getch();
if(ch[i]>='0'&&ch[i]<='9')
{
for(j=0;j<i;j++)
if(ch[i]==ch[j]) break;
if(j<i) i--;
else
{
putchar(ch[i]);
for(j=0;j<N;j++)
{
if(ch[i]==s[j])
if(i==j) a++;
else b++;
}
}
}
else
i--;
}
printf(" %dA%dB\n",a,b);
if(a==N)
{
printf("恭喜你答对了!\n");
break;
}
}
if(num==NUM)
printf("很遗憾,正确答案为:%s\n",s);
}

main()
{
int i,j;
char s[N+1];
srand(time(0));
for(i=0;i<N;i++)
{
s[i]=rand()%10;
for(j=0;j<i;j++)
if(s[i]==s[j]) break;
if(j<i) i--;
else
{
s[i]+='0';
putchar('*');
}
}
s[i]='\0';
printf("\n总共%d次机会\n",NUM);
detect(s);
}

_______________________
运行结果:
-----------------------
****
总共8次机会
第1次机会:1234 0A2B
第2次机会:2345 0A2B
第3次机会:3456 1A0B
第4次机会:4567 0A1B
第5次机会:5678 0A1B
第6次机会:6789 1A1B
第7次机会:3792 0A2B
第8次机会:9482 1A3B
很遗憾,正确答案为:8429
请按任意键继续. . .

③ C语言课程设计源程序 猜数字游戏

有些难度哦

④ C语言猜数游戏的实验报告怎么写

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

void fun(int a);
void main()
{
int i;
//i 改为随机数可以了:rand()%x x表示随机数在0--x之间

i = rand()%100;//i 是0--100之间的一个随机数

fun(i);
}

void fun(int a)
{
int j;
int flag = 1;//标记输入内的次数
scanf("d%", &j);
do
{
if(j > i)
printf("输入过大!请重容新输入/n");
else if(j < i)
printf("输入过小!请重新输入/n");
else
{
printf("输入正确!/n");
printf("输入次数为:d%", flag);
break;
}
scanf("%d", &j);
flag++;
}while (flag <= 20);
}

⑤ c语言课程设计-猜数游戏

以下程序的功能是随机产生数字,要求用户猜测程序中产生的随机数字,并输入,根据猜测的结果程序给出不同的响应,如果15次没猜对则退出。

源程序如下:
#include <stdio.h>
#include<stdlib.h>
#include<ctype.h>
main()
{
int count;/*猜数字的次数*/
int number;/*系统产生的随机数字*/
int guess;/*程序员输入数字*/
char yes='Y';
clrscr();
printf("\nNow let us play the game.\n Guess the number:");
while (toupper(yes)=='Y')
{
count=0;
randomize();
number=random(100)+1;
do
{
do
{
printf("\nInput an integer number(1~100):");
scanf("%d",&guess);
}while(!(guess>=1&&guess<=100));/*结束第二层DO~WHILE循环*/
if (guess<number)
printf("\n Your answer is low,try again!");/*如果用户输入的数字小于系统随机数,则输出数字太小的提示信息*/

if (guess>number)
printf("\n Your answer is high,try again!");/*如果用户输入的数字大于系统随机数,则输出数字太小的提示信息*/

count++;/*猜测次数加一*/
if (count==15)
{
printf("\n This is the %d times! Think it hard next!",count);
exit(0);/*如猜测15次还没猜对,则退出游戏*/
}
}while (!(guess==number));
if (count<=7)/*猜测的次数小于7次*/
{
printf("\n You have got it in %d times.\n",count);
printf("\n you guess right,Congretulations!");/*游戏成功则提示祝贺信息*/
}
else
{
printf("\n You got it in %d times.\n",count);
printf("\n I bet you can do it better!");/*游戏失败则提示鼓励信息*/
}
printf("\n NEXT?(Y/N):");/*选择是否重新游戏*/
scanf("%c",&yes);
}
}
运行程序时请用户猜数字,该数字由系统随机产生,用户最多有七次猜测的机会,如果在七次内猜对数字,则程序显示祝贺信息,如果用户大于七次猜对数字,则程序显示鼓励信息,如果用户连续15次都没有猜对数字,则游戏自动退出。结束一次游戏后,系统询问用户进行下一次猜数字游戏,用户输入“Y”则开始下一次猜数字游戏,用户如果输入“N”则退出游戏。
唉,花了个把小时终于搞出来了,应可以看懂吧,程序中作了很详细的解释,且在最后也作了功能说明!
如果认为好的话,追加分数哦!

⑥ c语言编程 猜数游戏

#include <stdio.h>
#include <stdlib.h> //用到了rand函数,所以要有这个头文件
#include <time.h> //用到了time函数,所以要有这个头文件
int main()
{
int number; //number用于存储随机数
int guess=0; //guess用于存储玩家猜的数
srand((unsigned) time(NULL));//用系统时间作为rand函数使用的种子
number=rand()%100; //随机除以100,取余数
number++; //余数加1
printf("猜数字游戏\n");
printf("该数字在1到100之间\n");
while(guess!=number)
{
printf("请输入您所猜的数:");
scanf("%d",&guess);
//如果玩家猜的数较小,给予提示
if (guess<number)
{
printf("小了\n");
}
//如果玩家猜的数较大,给予提示
if (guess>number)
{
printf("大了\n");
}
}
//猜中则循环结束,输出猜中的数字
printf("猜对了,这个数字就是:%d\n",number);
return 0;
}

⑦ c语言程序设计猜数游戏

#include<stdio.h>
#include<stdlib.h>
void main()
{
int Win = rand() % 100000+ 10000; //随机赋值10000~99999
int i = 0;
int n;
char ch;
printf("please input n\n");
scanf("%d",&n);
while(1)
{
(n > Win) //猜的数字大了
{
printf("you guess number big\n");
i++;
scanf("%d",&n);
}
if(n < Win) //猜的数字小了
{
i++;
printf("you guess number small\n");
scanf("%d",&n);
}
if(n == Win) // 正确
{
i++;
printf("you guees is right\n");
printf("你现在想退出吗? 输入a结束\n");
scanf("%c",&ch);
if(ch == 'a')
break;
continue;
}
if(i > 10) //机会用完了
{
printf("你的机会已经用完,没机会再猜了\n");
break;
}
}
if(i < 3)
printf("优秀\n"); // 对游戏者的评价
else if(i < 8)
printf("良好\n");
else
printf(" 差\n");
}
这是我以前编过的程序,只是把范围改了你想要的

⑧ C语言编写猜数字游戏

本来想给你写完的,结果有点事情把我的时间占用了,只好把这个写了一大半的程序给你,你自己加文件排名的那一部分。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int proct_random();
void store_number(int X);

#define length 4

int guess[length];
int x[length];

void main(void)
{
int i,j,correct,half_correct,RANDOM,GUESS,time;
time=0;
RANDOM=proct_random();
printf("%d\n",RANDOM);
printf("Please input your guessed four-digit number:\n");
while(1)
{
correct=0;
half_correct=0;

scanf("%d",&GUESS);
time++;
store_number(GUESS);

for(i=0;i<4;i++)
{
if(guess[i]==x[i])
{
correct++;
}
for(j=0;j<4;j++)
{
if(i!=j)
{
if(guess[i]==x[j])
{
half_correct++;
}
}
}
}

printf("%d %d %d\n",correct,half_correct,time);
if(correct==4)
{
printf("congratulations\n");
break;
}
}
}

int proct_random(void)
{
int i,random;

srand((unsigned)time(NULL));
for(i=0;i<4;i++)
{
x[i]=rand()%10;
}
random=x[0]*1000+x[1]*100+x[2]*10+x[3];
return random;
}

void store_number(int X)
{

guess[0]=X/1000;
guess[1]=X/100-guess[0]*10;
guess[2]=X/10-guess[1]*10-guess[0]*100;
guess[3]=X%10;
}

⑨ 求助:c语言程序设计报告 猜数游戏 谢谢!

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

#include<time.h>
int main()
{
int n,i,j=0,cnt=0;
char c;
srand(time(0));
do
{ j=0;
cnt=0;
i=rand()%100;
do
{
printf("输入一个0~99的数字:");
cnt++;
scanf("%d",&n);
getchar();
if(n==i){printf("WINER!专\nPlay again?Y/N:");j=1;}
else if(n>i)printf("GREATER THEN!\n");
else printf("LESS THEN!\n");
if(cnt>10){printf("END.\nThe answer=%d!\nPlay again?Y/N:",i);j=1;break;}
}
while(j==0);

c=getchar();
}
while(c=='y'|属|c=='Y');

return 0;
}

⑩ 课程设计c++猜数字游戏

这个应该符合你的要求:
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
int A=0,B=0;
int pd(int a[])/*判断是否有相同位相等与否*/
{int i,j,leap=1;
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
if(a[i]==a[j])
leap=0;
return leap;
}
int sl(int a)/*判断输入的数字是否合法*/
{int b=0,leap=0,dl[4];
if(a>=1000&&a<=9999)
{dl[0]=a/1000;
dl[1]=a%1000/100;
dl[2]=a%100/10;
dl[3]=a%10;
b=pd(dl);/*判断四位数的合法性*/
}
if(b==1)
leap=1;
return leap;
}

void chuli(int a[],int b[])/*判断猜测情况*/
{int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i]==b[j])
{
printf("%d 对,",b[j]);
if(i==j)
printf("位置也对!\n");
else printf("但位置不对!\n");
}
}

void main()
{int a[4],b[4],k,m,z,i=0,j,c;
printf(" 这是一个猜数字的游戏,根据系统提示猜一个四位数。\n (注意:正确的数字是每一位都不重复的四位数)祝你好运~~\n");
while(1)
{srand((unsigned)time(NULL));
z=(rand()%100)*(rand()%100);
if(sl(z))
{k=z;
break;
}
}
for(j=3;j>=0;j--)
{ a[j]=k%10; k/=10;}
while(1)
{ printf("输入你猜的数字:\n");
scanf("%d",&m);
if(m==z)
{ printf("恭喜你答对了O(∩_∩)O\n");
break;
}
i++;
for(j=3;j>=0;j--)
{ b[j]=m%10; m/=10;}
chuli(a,b);
if(i==8)
{ printf("你都错了8次了,还要猜吗?(1:yes,2:no)\n");
scanf("%d",&c);
if(c==2)
break;
}
else if(i==15)
{
printf("别猜了,正确答案:%d\n",k);
break;
}
else
printf("猜的不正确,还差点,加油啊!\n");

}
}

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919