急诊室故事百草枯哪几:C程序设计一个数学小游戏

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/01 21:42:19
我想做这样的一个程序:这是一个小游戏,我在其它地方玩过,在0-9这10个数中猜出4个数,你随便输入4个数,如果你输入的4个数和答案中的4个相同,就会提示B,好果位置也相同,就会提示A。例:答案为6523,你输入6032,按确定后就会有“1A2B”的提示,即有一个数,数对位置也对,有2个数,数对,而位置不对。就这样猜。可以猜9次吧。 我该怎么做呢? 我只是个C语言的初学者.最好帮我做出来,做成网页,我是想把它当做网站的“门”,要玩赢了才可以进入。

我简单做了以下代码,可以直接保存为htm文件。
我在 IE 及 FireFox 下测试通过。

<html>
<script language="javascript">
var str1 = "";
var str2 = "";
var str3 = "";
var str4 = "";
var real_answer = "";
var C_TIMES = 10;
var guess_times;

function funcInit(){
while(real_answer==""){
str1 = funcR()+"";
str2 = funcR()+"";
str3 = funcR()+"";
str4 = funcR()+"";
real_answer = str1 + str2 + str3 + str4;
}
guess_times = C_TIMES;
document.getElementById("real_answer").innerHTML = guess_times + " times";
document.getElementById("res").innerHTML = "";
document.getElementById("btn_ok").style.display = "";
document.getElementById("btn_restart").style.display = "none";
document.getElementsByName("answer")[0].value="";
}

function funcR()
{
return Math.round((Math.random()*100))%10;
}

function isExist(strSrc,strDes){
var k=0;
for(i=0;i<strDes.length;i++)
{
for(j=0;j<strSrc.length;j++)
{
if(strDes.substr(i,1)==strSrc.substr(j,1))
{
k++;
}
}
}
if(k==0)
{
return false;
}
return true;
}

function funcChkNum(str)
{
var strTem = "0123456789";
var k=0;
for(i=0;i<str.length;i++)
{
for(j=0;j<strTem.length;j++)
{
if(str.substr(i,1)==strTem.substr(j,1))
{
k++;
}
}
}
if(k!=str.length)
{
return false;
}
return true;
}

function funcCheck(instr){
var tem1 = instr.substr(0,1);
var tem2 = instr.substr(1,1);
var tem3 = instr.substr(2,1);
var tem4 = instr.substr(3,1);
var A = 0;
var B = 0;
var res = "";
if(tem1==str1) A++;
if(tem2==str2) A++;
if(tem3==str3) A++;
if(tem4==str4) A++;

if(isExist(real_answer,tem1)){
B++;
}
if(isExist(real_answer,tem2)){
B++;
}
if(isExist(real_answer,tem3)){
B++;
}
if(isExist(real_answer,tem4)){
B++;
}

res = A + "A" + B + "B";

if(A==4 && B==4){
document.getElementById("real_answer").innerHTML = "Great, you got it!";
document.getElementById("btn_ok").style.display = "none";
document.getElementById("btn_restart").style.display = "";
real_answer = "";
}

document.getElementById("res").innerHTML = res;
}

function funcGuess(){
var instr = document.getElementsByName("answer")[0];
if(!funcChkNum(instr.value) || instr.value=="")
{
alert("Enter Numeric !");
instr.value = "";
return;
}
guess_times--;
if(guess_times<=0){
document.getElementById("real_answer").innerHTML = "It's " + real_answer;
document.getElementById("btn_ok").style.display = "none";
document.getElementById("btn_restart").style.display = "";
real_answer = "";
}else{
document.getElementById("real_answer").innerHTML = guess_times + " times";
}
funcCheck(instr.value);
}
</script>
<body onload="funcInit();">
<center>
<span id="res"></span>
<br>
<span id="real_answer"></span>
<br>
<input type="text" maxlength ="4" size="4" name="answer">
<span id="btn_ok"><input type="button" value=" ok " onclick="funcGuess();"></span>
<span id="btn_restart"><input type="button" value=" restart " onclick="funcInit();"></span>
</center>
</body>
</html>

要用作网站的门还是用java吧

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <process.h>
void main(void)
{
int answer[4].guess=0,a,b,times=0,i,j;
for i=0;i<=3;i++)
{
randomize();
answer[i]=rand()%10;
for(j=0;j<i;j++)
{
while(answer[i]==answer[j])
{
answer[i]=rand()%10;
j=-1;
}
}
}
printf(\"please guess\\n\");
while(a!=4)
{
b=0;
times++;
do
{
printf(\"%d \",times);
scanf(\"%d\",&guess);
if(guess==0)
exit(0);
}
while(guess<0||guess>9999);
for(i=3;i>-1;i--)
{
for(j=0;j<4;j++)
{
if((int)(guess/pow10(i))=answer[j])
{
if(i+j==3) a=a+1;
else
b=b+1;
}
}
guess=guess-(int)(guess/pow10(i))*pow10(i);
}
printf(\" %dA%dB\\n\",a,b);
}
}