C语言之猜数字游戏
猜数字游戏
猜数字游戏是以前功能机上的一款益智游戏,计算机会根据输入的位数随机分配一个符合要求的数据,计算机输出guess后便可以输入数字,注意数字间需要用空格或回车符加以区分,计算机会根据输入信息给出相应的提示信息:A表示位置与数字均正确的个数,B表示位置不正确但数字争取的个数,这样便可以根据提示输入,直到正确为止,并且根据输入次数给出相应评价。
源代码如下:
- #include<stdio.h>
- #include<time.h>
- #include<stdlib.h>
- void guess(int);
- int main(void)
- {
- int i,n;
- system("cls"); //清屏
- printf("1.start game?(y/n)\n");
- printf("2.Rule\n");
- printf("3.exit\n");
- printf("please choose:");
- scanf("%d",&i);
- while(i!=3) //循环结构
- {
- switch(i)
- {
- case 1:
- printf("please input n:\n");
- scanf("%d",&n);
- guess(n);
- break;
- case 2:
- printf("\t\tThe rules of the game\n");
- printf("step1:input the number of digits\n");
- printf("step2:input the number,separated by a space between two numbers.\n");
- break;
- default:
- break;
- }
- scanf("%d",&i);
- }
- }
- void guess(int n)
- {
- int acount,bcount,i,j,k=0,flag,a[10],b[10];
- do
- {
- flag=0;
- srand((unsigned long)time(0));
- for(i=0;i<n;i++)
- a[i]=rand()%10;
- for(i=0;i<n-1;i++)
- {
- for(j=i+1;j<=n;j++)
- if(a[i]==a[j]) //不能出现相同的数字
- {
- flag=1;
- break;
- }
- }
- }while(flag==1);
- do
- {
- k++;
- acount=0;
- bcount=0;
- printf("guess:");
- for(i=0;i<n;i++)
- scanf("%d",&b[i]); //输入测试数据
- for(i=0;i<n;i++)
- for(j=0;j<n;j++)
- {
- if(a[i]==b[i]) //位置和数字都相同
- {
- acount++;
- break;
- }
- if(a[i]==b[j]&&i!=j) //数字相同,位置不同
- {
- bcount++;
- break;
- }
- }
- printf("clue on:%dA%d B\n\n",acount,bcount);
- if(acount==n) //给出评价
- {
- if(k==1)
- printf("you are the topmose\n");
- else if(k<=5)
- printf("you are genius!\n");
- else if(k<=10)
- printf("you are cleaver!\n");
- else
- printf("you need try hard!\n");
- break;
- }
- }while(1);
- }
效果图:
C语言之猜数字游戏的更多相关文章
- 李洪强漫谈iOS开发[C语言-049]-猜数字游戏
- [易学易懂系列|rustlang语言|零基础|快速入门|(23)|实战1:猜数字游戏]
[易学易懂系列|rustlang语言|零基础|快速入门|(23)|实战1:猜数字游戏] 项目实战 实战1:猜数字游戏 我们今天来来开始简单的项目实战. 第一个简单项目是猜数字游戏. 简单来说,系统给了 ...
- C语言猜数字游戏
猜数字游戏,各式各样的实现方式,我这边提供一个实现方式,希望可以帮到新手. 老程序猿就不要看了,黑呵呵 源代码1 include stdio.h include stdlib.h include ti ...
- c语言-猜数字游戏
#include <stdio.h> #include <stdlib.h> int top(); int input(); void main() { ; int numbe ...
- java 猜数字游戏
作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...
- 用MFC完成一个简单的猜数字游戏: 输入的四位数中,位置和数字都正确为A,数字相同而位置不同的为B。
最近学习了MFC一些比较基础的知识,所以打算通过做一个简单的数字游戏来理解MFC的流程并进一步熟悉其操作. 在这里,我做了一个猜数字的小游戏.第一步当然是设计主界面,先给大家展示一下游戏界面: 主界面 ...
- 实验三 Java猜数字游戏开发
课程:Java实验 班级:201352 姓名:程涵 学号:20135210 成绩: 指导教师:娄佳鹏 实验日期:15.06.03 实验密级: ...
- 通过游戏学python 3.6 第一季 第三章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码 可复制直接使用 娱乐 可封装 函数
猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码 #猜数字--核心代码--猜测次数--随机函数和屏蔽错误代码 import random secrst = random.rand ...
- 通过游戏学python 3.6 第一季 第二章 实例项目 猜数字游戏--核心代码--猜测次数 可复制直接使用 娱乐 可封装 函数
猜数字游戏--核心代码--猜测次数 #猜数字--核心代码--猜测次数 number=33 amount=3 count=0 while count<=amount: conversion ...
随机推荐
- 如何用LinkedHashMap实现LRU缓存算法
阿里巴巴笔试考到了LRU,一激动忘了怎么回事了..准备不充分啊.. 缓存这个东西就是为了提高运行速度的,由于缓存是在寸土寸金的内存里面,不是在硬盘里面,所以容量是很有限的.LRU这个算法就是把最近一次 ...
- Hive索引
1. Hive索引概述 Hive的索引目的是提高Hive表指定列的查询速度. 没有索引时.类似'WHERE tab1.col1 = 10' 的查询.Hive会载入整张表或分区.然后处理全 ...
- Selenium之偷懒教程
进来一直停留在基础理论知识的学习中,认为太乏味,就写了一个网页自己主动化的demo:自己主动写日报.省的以后自己打开网页写啦. 直接上代码: 自己主动填写日报DEMO import java.io.B ...
- Object-c中@private、@protected、@public解析
Objective-C中,类的实例化变量的范围有@private.@protected.@public.他们代表的意思和C++中相同,只是前面添加了一个@符号.下面介绍一下他们代表的范围: 指令 意思 ...
- zen-coding for notepad++,前端最佳手写代码编辑器
zen-Coding是一款快速编写HTML,CSS(或其他格式化语言)代码的编辑器插件,这个插件可以用缩写方式完成大量重复的编码工作,是web前端从业者的利器. zen-Coding插件支持多种编辑器 ...
- Android乐学成语之自定义Adapter
一.首先对Adapter概念深刻的了解 首先看看他的继承图
- mvc模式jsp+servel+jdbc oracle基本增删改查demo
mvc模式jsp+servel+jdbc oracle基本增删改查demo 下载地址
- centos7源以及相关的一些命令
yum makecache:将服务器上的软件包信息在本地缓存,以提高 搜索安装软件的速度. yum update:更新所有的rpm包 yum upgrade:大规模的版本升级,与yum update不 ...
- HDOJ 1308.Is It A Tree?
2015-07-15 问题简述: 给出一组节点关系,判断由这些节点组成的图是否为一颗树. 树只有一个根节点,每个节点只有一条边指向它,没有环. 原题链接:http://poj.org/problem? ...
- apache 配置文件管理
1. Apache配置系统 从整体来看apache的配置系统包括三个部分: (1) 配置文件:比如 httpd.conf .htaccess (2) 配置指令:在配置文件 httpd.conf ...