永发信息网

c语言猜数游戏编程

答案:3  悬赏:0  手机版
解决时间 2021-03-23 12:29
  • 提问者网友:饥饿走向夜
  • 2021-03-22 22:51
c语言猜数游戏编程
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-03-22 23:27
在VC 平台测试通过。
#include"stdio.h"
#define MAX_NUM 4
#define TRUE 1
#define FALSE 0
void main()
{
int i,j;
int guess_num[MAX_NUM];//随机生成四个数
int input[MAX_NUM];//用户输入四个数
int pos_same = 0;//位置相同个数
int num_same = 0;//数字相同个数
int correct = FALSE;//判断输入是否完全正确

//随机生成四个0到10之间的数
for(i = 0;i {
guess_num[i] = (int)rand()%10;
}
for(i = 0;i {
printf(" %d",guess_num[i]);
}
printf("\n");printf("请输入四个0到10之间的数\n");

while(!correct)
{
//输入四个数
for(i = 0;i {
scanf("%d",&input[i]);
}
//获得位置相同的个数
for(i = 0;i {
if(input[i] == guess_num[i])
pos_same++;
}
//获得与随机数相同的个数
for(i = 0;i {
for(j = 0;j {
if(input[i] == guess_num[j])
{
num_same++;
break;
}

}
if(i>0)//判断与之前的数字是否相同
{
for(j=i;j>0;j--)
{
if(input[i] ==input[j-1])
{
num_same--;
break;
}
}
}
}
printf("数字正确个数: %d \n位置正确个数: %d\n",num_same,pos_same);
num_same = (num_same ==MAX_NUM)?num_same:0;
pos_same = (pos_same ==MAX_NUM)?pos_same:0;
if(pos_same ==MAX_NUM && num_same ==MAX_NUM)
correct = TRUE;
}
printf("你猜对了!\n数字就是");
for(i = 0;i {
printf(" %d",guess_num[i]);
}
printf("\n");

}
全部回答
  • 1楼网友:傲气稳了全场
  • 2021-03-23 00:39
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
void main()
{
int i,m,n;
srand(time(NULL));
i=1+(int)rand()%100;
for(m=5;m>0;m--)
{
printf("请输入你认为的值:");
scanf("%d",&n);
if(n>i) printf("对不起 你输入的数字太大了,你现在还有%d次机会.\n",m-1);
else if(n else printf("恭喜你 答对了。");
}
if(m==0)
printf("正确数字是%d\n",i);
}
  • 2楼网友:三千妖杀
  • 2021-03-22 23:49
我以前写的一个,你看看行不行,不过这个只能猜7次。
while(A!=4&×!=7);这一句是:while((A!=4)&&(times!=7))不知道为什么一发出去就变样了...
#include
#include
void voice()
{
sound(3000);
delay(30*3000);
nosound();
}
void main()
{
int n[4],ig[4],gu[4],times,A,B,i,j,k,str;
char g[15],x;
do
{
randomize();
n[0]=random(10);
for(i=1;i<4;i++)
{
j=i-1;
n[i]=random(10);
while(j>=0)
{
if(n[i]==n[j]) n[i]=random(10);
else j--;
}
}
times=0;
do
{
printf("Please input 4 numbers between 0 and 9:\n");
do
{
gets(g);
str=0;
i=0;
while(g[i++])
str++;
if(str!=4)
{
voice();
printf("ERROR:The length you input is wrong!Please input 4 numbers!\n");
}
}
while(str!=4);
for(i=0;i<4;i++)
if(!(g[i]>='0'&&g[i]<='9'))
{
voice();
printf("WARNING:The number you input maybe have some wrongs!\n");
break;
}
for(i=0;i<4;i++)
ig[i]=(int)g[i]-48;
times++;
A=0;B=0;k=1;
gu[0]=ig[0];
for(i=1;i<4;i++)
for(j=i-1;j>=0;j--)
{
if(ig[i]==ig[j]) break;
if(j==0) gu[k++]=ig[i];
}
for(i=0;i for(j=0;j<4;j++)
if(gu[i]==n[j]) B++;
for(i=0;i<4;i++)
if(ig[i]==n[i])
{
A++;
B--;
}
printf("%dA%dB the %d time\n",A,B,times);
}
while(A!=4&×!=7);
if(A==4)
{
printf("How clever you are!The answer is:\n");
for(i=0;i<4;i++)
printf("%d",n[i]);
printf("\n");
}
else
{
printf("You are lost!The answer is:\n");
for(i=0;i<4;i++)
printf("%d",n[i]);
printf("\nTry again!\n");
}
printf("Go on the game?(Y\\N)\n");
scanf("%c",&x);
system("cls");
}
while(x=='Y'||x=='y');
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯