| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 991 人关注过本帖
标题:只差一点点了,请教。。。
取消只看楼主 加入收藏
糖玩儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-7-1
收藏
 问题点数:0 回复次数:5 
只差一点点了,请教。。。

谢谢各位了!

现在可以运行了,可是我们的要求是当用户10次仍然不能猜出正确的原始数字和顺序时,系统提示玩家失败,并给玩家显示原始数字和顺序。

我觉得只要在外面加一条FOR就行了。可是猜错十次以后还是老样子。难道我做的循环不对吗?
怎样才能在最后把开始随机生成的4个数字显示出来呢??

我刚才照windflush说的做了,把for放进while去。
可是应该放在哪儿呢?
怎样才能不让黄色的部分一直循环呢?
哥哥们,帮帮忙吧。我也知道编的乱,可是这是作业,就要提交了,急!!死!!!


#include "stdafx.h"


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#define SIZE 4
main()
{ int enter=1,stop,a[SIZE],b[SIZE],guessnum,i,j,counter,countera,counterb,counter0,extra;
int t;
for(t=0;t<10;t++)
{ //int enter=1,stop,a[SIZE],b[SIZE],guessnum,i,j,counter,countera,counterb,counter0,extra;
char ch;
srand(time(NULL));

while(enter==1)
{ stop=2;

while(stop==2)
{ extra=1;
for(i=0;i<=SIZE-1;i++)
a[i]=rand()%10;
for(i=0;i<=SIZE-1;i++)
{ for(j=i+1;j<=SIZE-1;j++)
{ if(a[i]==a[j]) extra=2; }
}
if(a[0]!=0&&extra==1) {stop=1;printf("%d%d%d%d",a[0],a[1],a[2],a[3]);}
}

counter=1;
while(counter<=6)
{ printf("Please guess the number:\n");
scanf("%d",&guessnum);
for(i=0;i<=SIZE-1;i++)
b[i]=guessnum/(int)pow(10,SIZE-1-i)%10;
countera=0;
for(i=0;i<=SIZE-1;i++)
{ if(a[i]==b[i]) countera++;}
counter0=0;
for(i=0;i<=SIZE-1;i++)
{ for(j=0;j<=SIZE-1;j++)
{ if(a[i]==b[j]) counter0++;}
}
counterb=(counter0-countera);
if(countera==4)
{ printf("Wonderful!You guessed the number.Then,please input your choice,'1' represents going on,'2' represents breaking\n");
counter=7;
scanf("%d",&enter);
}
else{ printf("%dA%dB\n",countera,counterb);
counter++;
}
}
}

while((ch=getchar())!='s'&&ch!='S');
};
printf("你失败了,答案是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);

return 0;
}




[此贴子已经被作者于2007-7-1 20:52:41编辑过]

搜索更多相关主题的帖子: color 哥哥 黄色 用户 
2007-07-01 01:13
糖玩儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-7-1
收藏
得分:0 
谢谢各位了!

现在可以运行了,可是我们的要求是当用户10次仍然不能猜出正确的原始数字和顺序时,系统提示玩家失败,并给玩家显示原始数字和顺序

我觉得只要在外面加一条FOR就行了。可是猜错十次以后还是老样子。难道我做的循环不对吗?
怎样才能在最后把开始随机生成的4个数字显示出来呢??

急!!死!!!

人血馒头
2007-07-01 12:09
糖玩儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-7-1
收藏
得分:0 
好,我试试

人血馒头
2007-07-01 20:14
糖玩儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-7-1
收藏
得分:0 


我刚才照windflush说的做了,把for放进while去。
可是应该放在哪儿呢?
怎样才能不让黄色的部分一直循环呢?
哥哥们,帮帮忙吧。我也知道编的乱,可是这是作业,就要提交了,我急啊。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#define SIZE 4
main()
{ int enter=1,stop,a[SIZE],b[SIZE],guessnum,i,j,counter,countera,counterb,counter0,extra,x=0;
int t;
for(t=0;t<10;t++,x++)
{ //int enter=1,stop,a[SIZE],b[SIZE],guessnum,i,j,counter,countera,counterb,counter0,extra;
char ch;
srand(time(NULL));

while(enter==1)
{ stop=2;

while(stop==2)
{ extra=1;
for(i=0;i<=SIZE-1;i++)
a[i]=rand()%10;
for(i=0;i<=SIZE-1;i++)
{ for(j=i+1;j<=SIZE-1;j++)
{ if(a[i]==a[j]) extra=2; }
}
if(a[0]!=0&&extra==1) {stop=1;printf("%d%d%d%d",a[0],a[1],a[2],a[3]);}
}

counter=1;
while(counter<=6)
{ printf("Please guess the number:\n");
scanf("%d",&guessnum),printf("----%d\n",x);
for(i=0;i<=SIZE-1;i++)
b[i]=guessnum/(int)pow(10,SIZE-1-i)%10;
countera=0;
for(i=0;i<=SIZE-1;i++)
{ if(a[i]==b[i]) countera++;}
counter0=0;
for(i=0;i<=SIZE-1;i++)
{ for(j=0;j<=SIZE-1;j++)
{ if(a[i]==b[j]) counter0++;}
}
counterb=(counter0-countera);
if(countera==4)
{ printf("Wonderful!You guessed the number.Then,please input your choice,'1' represents going on,'2' represents breaking\n");
counter=7;
scanf("%d",&enter);
}
else{ printf("%dA%dB\n",countera,counterb);
counter++;
}
}

}

// while((ch=getchar())!='s'&&ch!='S');
}
printf("你失败了,答案是:%d%d%d%d\n",a[0],a[1],a[2],a[3]);

return 0;
}


人血馒头
2007-07-01 20:43
糖玩儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-7-1
收藏
得分:0 

太太太太厉害了!!!!
超赞啊!!
谢谢大家,特别是在最后出手的windflush。
你救了我啊,帅哥
干杯庆祝一下吧。哈哈哈哈!


人血馒头
2007-07-01 21:21
糖玩儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-7-1
收藏
得分:0 

抄的都看出来了!?不过我自己也改了一些啊。
哈哈,果然是高人~

[此贴子已经被作者于2007-7-1 22:03:14编辑过]


人血馒头
2007-07-01 22:01
快速回复:只差一点点了,请教。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028230 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved