程序设计的逻辑思维
#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
}
今天给大家分享的案例是 猜数字。
当程序开始运行时 会生成1-100之间的随机数,如55,我们在输入框中输入猜的数字。如输入88,提示“猜大了”,如输入33,则提示“猜小了”。
①新建一个变量,用来表示我们要猜的数字。
②从1-100之间生成一个随机数,赋值给我们的变量。
③通过询问来获取答案。
④判断输入的答案和我们要猜的数是否一致,如果一致,则说猜对了,如果大于,则说猜大了,如果 小于,则说猜小了。
⑤整体解析:
是不是很简单,你学会了吗?
-end
#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个数做比较,输出结果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)