设计一个猜数游戏程序?

设计一个猜数游戏程序?,第1张

数字游戏

程序设计的逻辑思维

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

void Guess(const char src[])

{

int i

int count = 1//猜次数的次数

int A_num//猜中的A的个数

int B_num//猜中的B的个数

char one, two, three, four//分别表示我们所输入的四个数字

while(1)

{

A_num = B_num = 0

fflush(stdin)

printf("请输入你第%d次猜测的数字(4位不重复):", count++)

scanf(" %c %c %c %c", &one, &two, &three, &four)

for(i = 0i <4++i)

{

if(src[i] == one)

{

if(i == 0)

++A_num

else

++B_num

}

else if(src[i] == two)

{

if(i == 1)

else

}

else if(src[i] == three)

{

if(i == 2)

else

}

else if(src[i] == four)

{

if(i == 3)

else

}

}

printf("------------------------------------------ ")

if(A_num == 4)

{

printf("恭喜你,全部猜对了! ")

break

}

else

{

printf("你猜测的结果是:%dA%dB ", A_num, B_num)

}

}

}

int main()

{

char chNum[4]//用于存放系统产生的随机4位数字

int i, index

srand((unsigned)time(0))//初始化随机种子

index = 0

//system("color F0")

//使用do...while循环让系统产生一个随机的4位数字

do

{

chNum[index] = rand() % 10 + '0'

//判断一下这个数字是否和前面产生的字符相同

for(i = 0i <index++i)

{

if(chNum[i] == chNum[index])

--index

}

++index

}while(index <4)

Guess(chNum)

return 0

}

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#include<string.h>

main()

{

int n[4],a,b,c,d,yes=0,meble=0

int times=10,y=0

srand(time(NULL))

int x[10]

memset(x, 0, sizeof(int)*10)

int i = 0

while (1)

{

if(i == 4)

break

int k = rand() % 10

if(x[k] == 0)

{

x[k] = 1

n[i] = k

i++

}

}

// printf("%d %d %d %d\n",n[0],n[1],n[2],n[3])

printf("猜数游戏:四个数0-9,按一定顺序排列,你需要在\n")

printf("10次机会内,猜中数字而且数的顺序要正确\n")

while(times!=0)

{

printf("请输入4个数(0-9)\n")

printf("数与数之间一个空格分开\n")

scanf("%d %d %d %d",&a,&b,&c,&d)

yes=0meble=0

if(n[0]==a)yes++

if(n[1]==b)yes++

if(n[2]==c)yes++

if(n[3]==d)yes++

if(a==n[1]||a==n[2]||a==n[3])meble++

if(b==n[0]||b==n[2]||b==n[3])meble++

if(c==n[0]||c==n[1]||c==n[3])meble++

if(d==n[0]||d==n[1]||d==n[2])meble++

printf("%d 个数完全正确, %d 个数值对但位置错了 \n",yes,meble)

y=y+1

printf("第 %d 次机会",y)

printf("\n")printf("\n")printf("\n")

times--

if(a==n[0]&&b==n[1]&&c==n[2]&&d==n[3])

{printf("恭喜 - -。 猪竟然都能赢\n")break}

if(times==0)

{printf("game over 了\n")break}

}

system("pause")

}

思路:随机产生4个不同的数(0-9),然后你输入4个数做比较,输出结果。

#include

#include

#include

#include

int

i,j=1

int

scores[6]

void

main()

{

char

control='\0'

int

rand1,guess,score

printf("开始游戏吗

?(y?n)")

control=getchar()

while(control!='y'&&control!='y'&&control!='n'&&control!='n')//屏蔽其他按键

{

printf("无效字符!开始游戏吗

?(y?n)")

fflush(stdin)

control=getchar()

printf("%c",control)

}

while((control=='y')||(control=='y'))

{

system("cls")

srand((unsigned)time(null))

rand1=rand()%10+1

//printf("%d",rand1)

for(i=0i<20i++)

{

printf("请输入你猜的数:")

scanf("%d",&guess)

if(guess>rand1)printf("大啦!\n")

else

if(guess

:猜对了\a\n")//响铃\a

break

}

i++

}

i+=1

if(i==1)

{

score=100

scores[0]++

}

else

if(i>=2&&i<=3)

{

score=90

scores[1]++

}

else

if(i>=4&&i<=6)

{

score=80

scores[2]++

}

else

if(i>=7&&i<=10)

{

score=70

scores[3]++

}

else

if(i>=11&&i<=15)

{

score=60

scores[4]++

}

else

{

score=0

scores[5]++

}

printf("第%d次得分是:%d\n",j,score)

scores[7]+=score

j++

printf("是否继续(y?n)\n")

fflush(stdin)//请输入缓冲区

control=getchar()

while(control!='y'&&control!='y'&&control!='n'&&control!='n')

{

printf("无效字符!只能按y或y,n或n是否继续(y?n)\n")

fflush(stdin)

control=getchar()

printf("%c",control)

}

}

system("cls")//清屏

printf("+++++++++++++++-----------------以下是得分情况:---------------*************\n")

for(i=0i<5i++)

{

printf("+++++++++++++++------------------得%d分%d次:------------------*************\n",10*(10-i),scores[i])

}

printf("+++++++++++++++------------------得%d分%d次:------------------*************\n",

0,scores[5])

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7896076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存