设计一个猜数游戏程序?

设计一个猜数游戏程序?,第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

#include

#include

int main(int argc, char * argv[])

{

srand((unsigned)time(NULL))

int a = rand()%100

a+=1

int b,c

c = 0

while (c {

printf("Please enter a number: ")

if (scanf("%d", &b) == 0)

{

fprintf(stderr, "Invalid entry.\n")

return EXIT_FAILURE

}

else

{

if (b == a)

{

printf("You are correct, the number is %d!\n", a)

printf("You used %d times to get the answer.\n", c)

break

}

else if (b >a)

printf("The number is bigger than it suppose to.\n")

else

printf("The number is smaller than it suppose to.\n")

c++

}

if (c == 10)

{

printf("You used 10 times, please try again!\n")

break

}

}

return EXIT_SUCCESS

}

编程的注意事项:

1、程序不仅需要给计算机读 , 也要给程序员读。 程序设计风格的原则 , 代码应该清楚的和简单的 , 具有直截了当的逻辑 , 自然的表达式 , 通行的语言使用方式 , 有意义的名字和帮助作用和注释。

2、自定义类型名以大写字母开头,各单词之间以大写字母分隔,如 CallType (即骆驼式命 名法) 。 变量名以小写字母开头, 各单词之间以大写字母 分隔 (变量活动范围前缀以下划线 分隔) ,如 m_pReleaseIn。函数名以大写字母开头,各单词之间以大写字母分隔(进程、进 程页及子函数前缀以下划 线分隔) ,如 Sub_ErrorDealing。

3、命名宏定义时,表示最大个数时定义为 XXX_MAX_NUM(如最大子节点个数可用 SNODE_MAX_NUM表示) ,表示最大取值时定义为 XXX_MAX(如 PT 板 E1的最大取值 可用 PT_E1_MAX表示) 。定义最小个数时定义为 XXX_MIN_NUM,定义最小取值时定义 为 XXX_MIN。 (以防止下标使用时难以分辨是否需要减 1) 。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存