本文目录
- 求解编程题目<猜数字>C++/C
- 我想问一下我电脑桌面上有三个图标删不掉,有一个1122小游戏,有i2255浏览器有淘宝网的淘宝热卖这三个
- 火柴人死亡海滩,火柴人死亡海滩小游戏 攻略及怎么玩
- 80后的兄弟姐妹们,有没有人玩过这个测算的小游戏~ 划4行竖线,然后从左至右每4个划一下
- 1122小游戏的介绍
求解编程题目<猜数字>C++/C
我觉得解决这个问题有几点要注意:实现方面:生成随机数、防止待猜测的数中重复数字
异常方面:处理输入不为四位的情况。
我练习输入输出、类型转换的时候做过一个类似功能的,但是有些地方不完善。
guess0.cpp
// Guess0.cpp : Defines the entry point for the console application.
//
//最后一次正确时,运行不正确
//猜数字
//产生的随机数每次都是1740,而给result赋值时每次都是1242。
//前者原因:rand的问题,该方法需要与srand一起使用;后者是类型转化过程出错
//可以考虑加上时间,按照时间长短给予不同提示。
#include “StdAfx.h“
#include “head.h“
#include 《string.h》
#include 《stdlib.h》
#include 《afx.h》
#define ARRAY_SIZE 4 //宏,定义要猜的数字位数,默认为4,可以修改
#define CHANCE 10 //可以猜测的次数
char result={0};//要猜的数字数组;多定义一位,用于存储结束符
int counter = 0;//记录次数,不得大于CHANCE
int main(int argc, char* argv)
{
char ans;
do{
process();
printf(“是否继续?(是,输入“y”;否输入“n”)“);
scanf(“%c“,&ans);
fflush(stdin);
}while(ans==’y’||ans==’Y’);
return 0;
}
void myRand()//生成一个4位数字
{//应该在初始化中首次调用此方法
//把值传给result时容易出错,注意选择方式
//先 生成随机数,截取其各位数字,当有重复时重新生成。
memset(result,0,ARRAY_SIZE);
result = 0;
int i,j;
int nums;//中间数组
memset(nums,0,ARRAY_SIZE);
char temp以及它以后的存储区域都是连续的,不能用temp首地址输出。
for(i=0;i《ARRAY_SIZE;i++)
{
memset(temp,’\0’,1);
}
srand((unsigned)time(NULL));//使从当前时刻开始生成的随机数不存在重复
//若无此语句,程序每次执行,产生的随机数是按照顺序来的,依次为1740,9482。。。
for (i=0;i《ARRAY_SIZE;i++)
{
nums = rand();
nums%10;
for (j=0;j《i;j++) //消除重复数字
{ //新生成的数字要和前面所有数字比较
while(nums) //遇到重复数字时,重新生成;
{ //此处不可用if,因为重新生成的数字也需要比较一次
nums = rand();
nums%10;
j=0; //一旦重新生成就重新开始比较,计数置0
}
}
sprintf(temp);
result;//把处理好的数字赋给result
}
result = ’0’; //结束符
}
void process()//将获得的数字与已生成数字比较
{
//在菜单中说明
printf(“欢迎进入本游戏。\n“);
printf(“程序将随机生成一个不含重复数字的四位数,然后请您猜测这个四位数。\n“);
printf(“在猜测的过程中我讲给您适当提示,其中\n“);
printf(“A代表结果中有且位置正确的数字,B代表结果中有但位置不正确的数字。\n“);
printf(“在一次游戏结束后,您可以查看结果或者重新开始。\n“);
/*
CString inpt;//下面的GetAt调用出现问题,给inpt赋值可以解决
//但是赋值比如为0的话,又会提示长度不对;赋值为0000的话会提示重复数字
//明明在读入的时候,初始赋值已经改变了。
//调试发现虽然inpt已经获得了输入,但是其长度却未改变,应该是接受输入的过程出错
//根本原因在于用scanf读入CString对象的值。虽然能读入,但那只是一个临时值,随时
//会发生“不可预知”的错误。
//所以,改用字符数组或者字符指针实现这一问题
*/
/* //使用字符指针
char *inpt;//缓存输入
inpt = (char *)malloc(ARRAY_SIZE+1);
……
free(inpt);
*/
char inpt={0,0,0,’-’,0};
char ans=NULL;
do
{
myRand();
printf(“请输入一个不含重复数字的%d位数(多于四位将只处理前四位):\n“, ARRAY_SIZE);
int count1 = 0, //结果中含该数字、位置正确,即A的值
count2 = 0;//结果中含该数字、位置不正确,即B的值
while(counter《CHANCE)
{
scanf(“%s“,inpt);
fflush(stdin);
while (judge_length(inpt)||judge_repeat(inpt))
{
printf(“请重新输入:\n“);
scanf(“%s“,inpt);
fflush(stdin);
}
int i,j;
count1 = 0;
count2 = 0;
for (i=0;i《ARRAY_SIZE;i++)
{
for (j=0;j《ARRAY_SIZE;j++)
{
if (inpt)
{
if (i!=j)
count2++;
else
count1++;
}
}
}
if (count1==ARRAY_SIZE)
{
printf(“恭喜您,猜对了!\n“);
break;
}
else
{
printf(“%s %d%c%d%c\n“,inpt, count1, ’A’, count2, ’B’);
}
counter++;
}
if (counter==CHANCE)
{
printf(“对不起,您已经用完了10次机会!您可以查看结果或者重新开始。“);
printf(“您可以输入0来查看正确结果。\n“);
char choice;
scanf(“%c“,&choice);
if (choice==’0’)
{
printf(“正确结果是%s\n“,result);
}
}
counter=0;
printf(“继续?(y/n)\n“);
scanf(“%c“,&ans);
fflush(stdin);
} while (ans==’y’||ans==’Y’);
}
bool judge_repeat(char inpt)//判断有无重复数字
{
int i,j;
for(i=0;i《ARRAY_SIZE;i++)
{
for (j=0;j《i;j++)
{
if (inpt)
{
printf(“您的输入含有重复数字。\n“);
return true;
}
}
}
return false;
}
bool judge_length(char inpt)//判断输入数字的位数
{
if (inpt==’-’)//如果C/C++数组名可以调用类似length的
{ //函数,那样实现比较理想
//在声明inpt多加一位,加上条件inpt!=(指定字符),应该可以处理超出的输入
printf(“您的输入长度不对。\n“);
printf(“inpt);
printf(“inpt);
return true;
}
return false;
}
guess0.h
#include “StdAfx.h“
#include 《afx.h》
void process();
bool judge_repeat(char inp);
bool judge_length(char inp);
我想问一下我电脑桌面上有三个图标删不掉,有一个1122小游戏,有i2255浏览器有淘宝网的淘宝热卖这三个
你中“鬼影”病毒了。 首先,你需要用 金山 鬼影病毒专杀 工具进行 查杀 就可以了,其次,如果浏览的网页包括 你懂得的网站,和视频,图片,请额外下载防火墙。再次说,其实36的 卫士真不咋地。建议卡巴,若顿。
火柴人死亡海滩,火柴人死亡海滩小游戏 攻略及怎么玩
火柴人死亡海滩游戏简介:
火柴人们正欢乐的在海滩上玩乐,却不知道死神已经悄悄来到了这里,赶紧使用鼠标点击物体触发事件,在规定的时间内干掉所有的火柴人吧,很需要技巧的哦!
据说10个人进来就有8个人记住了1122小游戏的网址 1122xyx.com
直接在浏览器输入 1122xyx.com 或百度搜下 1122小游戏 又能玩啦!
火柴人死亡海滩游戏目标:
通过操作杀死所有的火柴人。
如何开始:
加载完成自动开始游戏。-1122小游戏
80后的兄弟姐妹们,有没有人玩过这个测算的小游戏~ 划4行竖线,然后从左至右每4个划一下
1111你碰上理想之友.
1112你与情人破裂
1113你有时候想他<她>
1121你最近有好消息
1122你不想他<她>
1123他<她>永远和你在一起
1131你会遇上好事
1132你的理想会实现
1133你笑你的笑话
1211你最近有困难
1212有人造你的谣
1213你会遇上意外
1221你想别人
1222你父母不同意你的婚事
1223你时刻想与他<她>见面
1231你和他不后悔
1232以后幸福
1233有人寄信给你
1311你想的那件事情不会错
1312你想得到好处
1313有人想害你,但不能成功
1321你与他开始建立
1322你能判别人
1323现在有人喜欢你
1331你会与上坏事情
1332有人想约你见面
1333你的情趣舒畅并且爱上一个人
2111你在烈火中与他交往
2112你的朋友对你开始不衷心
2113你的那种负担重
2121远方来了不速之客
2122你会胜利
2123你期待着什么
2131你胡思乱想
2132你的事情理想且能实现
2133你想与知心人说心里话
2211你正在恋爱中
2212你失恋了正在痛苦中
2213你做事情比较谨慎
2221有人真心爱着你
2222你想的问题很多
2223你非常想念他
2231你背后有人骂你
2232有一个人你不想忘记
2233你考虑一件事情心很痛苦
2311他白天黑夜都在想你
2312最近你的工作很忙
2313你的父母很想念你
2321你感到有不好的事
2322你比谁都光荣
2323他想跟你说心理话你却不同意
2331你想和他交朋友
2332有财大吉
2333你要小心最近要掉东西
3111你交的朋友不错
3112他每时每刻都在想你
3113你不要把爱情弄的太高调
3121这几天你心里很矛盾
3122你身边有个可怕的人
3123背后有人职责你
3131他在追求你
3132有件事情你不想去做
3133你的生日将会很快乐
3211
3212你别灰心愿望会实现
3213有人送钱上门
3221爱你的人很多但你愿意的很少
3222你的朋友最近有消息
3223他很想和你联系
3231他还在恨你
3232你现在很危险请注意
3233你的理想很快就会实现
3311你的性格很开朗
3312你在痛苦 中应注意
3313你现在有个好朋友见来也许是敌人
3321你现在很想和他见面
3322他想得到你的痛苦
3323你有很多钱但心事也很多
3331身边在乎你的人很多但是真心的很少
3332不的爱情被破坏
3333你和他永远在一起,永远幸福....-1122小游戏
1122小游戏的介绍
1122小游戏是一个近期崛起的Flash小游戏门户。里面收集了国内外各种类型的Flash小游戏。 Flash小游戏以其简单易上手、游戏周期短、无需下载安装等特点优势也受到广大游戏玩家的喜爱。小游戏没有大游戏的绚丽场景和华丽造型,小游戏所有的仅仅是搞笑的情节,可爱的画面,通过简单的鼠标和键盘,放松心情,减轻压力。-1122小游戏