程序设计的逻辑思维
#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])
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)