当前位置: 代码迷 >> C语言 >> 大家看看我自己编的猜数程序该怎样改
  详细解决方案

大家看看我自己编的猜数程序该怎样改

热度:187   发布时间:2007-10-18 17:33:49.0
大家看看我自己编的猜数程序该怎样改


#include "stdio.h"
#include "stdlib.h"
#include "time.h"

int main()
{
int sjs[4];
int scs[4];
int allr,numr;
int i,j,get;
srand((unsigned)time(NULL));
for(i=0;i<4;i++)
{
sjs[i]=rand() % 10;
}
printf("你要猜的数是:\n");
for(i=0;i<4;i++)
{
printf("%d ",sjs[i]);
}
printf("\n");
printf("是否开始:1.是;0.否.\n");
scanf("%d",&get);
while(get)
{
allr=0;
numr=0;
printf("请输入所猜的数:\n");
for(i=0;i<4;i++)
{
scanf("%d",&scs[i]);
}
for(i=0;i<4;i++)
{
if(sjs[i]==scs[i])
allr++;
}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(sjs[i]==scs[j]&&i!=j)
numr++;
}
printf("所猜的数为:\n");
for(i=0;i<4;i++)
{
printf("%d ",scs[i]);
}
printf("\n");
if(allr==4)
{
printf("恭喜猜对了!\n");
allr=0;
numr=0;
for(i=0;i<4;i++)
{
sjs[i]=rand() % 10;
}
printf("你要猜的数是:\n");
for(i=0;i<4;i++)
{
printf("%d ",sjs[i]);
}
printf("\n");
}
else
printf("全对的数为:%d,数对位错的为:%d\n",allr,numr);
printf("继续输:1,退出输:0\n");
scanf("%d",&get);
}
printf("拜拜!\n");
return 0;
}

我的程序在随即产生的数有重复时得到的结果好象不怎么正确,该怎么样改?





[此贴子已经被作者于2007-10-23 8:18:52编辑过]


----------------解决方案--------------------------------------------------------
有点长
----------------解决方案--------------------------------------------------------
学学算法吧~~~~~~~~~~~~~~~



by 雨中飞燕
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
----------------解决方案--------------------------------------------------------
回复:(雨中秣燕)学学算法吧~~~~~~~~~~~~~~~[img]ht...

有学算法的专门的书吗?


----------------解决方案--------------------------------------------------------
黑书
----------------解决方案--------------------------------------------------------
呵呵
整个一堆的
应该划分成模块,用函数实现.
----------------解决方案--------------------------------------------------------
回复:(nuciewth)呵呵整个一堆的应该划分成模块,用函...
呵呵.我也知道编的不咋地.
我就是想知道用的算法.
----------------解决方案--------------------------------------------------------
猜数程序
还用不到什么好算法,简单的循环加判断.
----------------解决方案--------------------------------------------------------
好像编译结果不对......
----------------解决方案--------------------------------------------------------
回复:(nighting)好像编译结果不对......

当随机产生的数中有重复的时候结果就有问题了,不是结果错了,是我的算法不好


----------------解决方案--------------------------------------------------------
  相关解决方案