功能要求:当选择1时 进行猜一维数组的下标游戏,选择2时进行猜二维数组的下标游戏,选择0结束进行。程序根据用户的应答(Y或N),可以反复进行游戏。
猜一维的规则:系统随即赋给一维数组某一元素“@”字符,其余各元素赋“*”,用户输入“@”所在元素下标的猜测值,若猜对,系统显示“恭喜你猜对了!”,之后询问用户是否继续进行下一轮的游戏;若猜错,让用户重新输入下标的猜测值(最多3次,每次显示还有几次机会),如果3次均未猜对,则显示“对不起,你已没有机会了!”,然后也询问用户是否进行下一轮的游戏。
猜二维数组的下标游戏规则与一维类似,所不同的是,只要“@”所在的行下标或列下标与用户输入的下标猜测值相等,就认为猜对。
谢谢
C语言实训 猜数组下标游戏 急用!!!
答案:2 悬赏:60 手机版
解决时间 2021-02-20 14:15
- 提问者网友:椧運幽默
- 2021-02-19 19:37
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-02-19 20:16
#include
#include
#include
void game1()
{
int temp=0;
int guess;
int count=3;
bool judge=false;
srand((unsigned)time(NULL));
temp=rand()%10;
while((count>0)&&(judge==false))
{
printf("请输入所猜一维数组下标(1~10):");
scanf("%d",&guess);
if(guess==temp)
{
printf("\n恭喜你!猜对了");
judge=true;
}
else
printf("\n很遗憾猜错了,还有%d次机会\n",count-1);
count--;
}
}
void game2()
{
int temp1=0;
int temp2=0;
int guess1;
int guess2;
int count=3;
bool judge=false;
srand((unsigned)time(NULL));
temp1=rand()%10;
temp2=rand()%10;
while((count>0)&&(judge==false))
{
printf("请输入二维数组的行下标(1~10):");
scanf("%d",&guess1);
printf("\n请输入二维数组的列下标(1~10):");
scanf("%d",&guess2);
if((guess1==temp1)||(guess2==temp2))
{
printf("\n恭喜你!猜对了");
judge=true;
}
else
printf("\n很遗憾猜错了,还有%d次机会\n",count-1);
count--;
}
}
void main()
{
int opt=-1;
char again='Y';
printf(" 猜数组下标游戏 \n");
printf(" 1.一维数组 \n");
printf(" 2.二维数组 \n");
printf(" 0.退出 \n");
while((opt!=0||opt!=1||opt!=2)&&(again=='Y'))
{
printf(" 请输入游戏序号:");
scanf("%d",&opt);
if(opt==1)
{
printf("您选择了1\n");
game1();
printf("是否继续(Y/N)?");
getchar();
scanf("%c",&again);
}
else if(opt==2)
{
printf("您选择了2\n");
game2();
printf("是否继续(Y/N)?");
getchar();
scanf("%c",&again);
}
else if(opt==0)
exit(0);
else
printf("非法输入!请重新输入序号\n");
}
}
#include
#include
void game1()
{
int temp=0;
int guess;
int count=3;
bool judge=false;
srand((unsigned)time(NULL));
temp=rand()%10;
while((count>0)&&(judge==false))
{
printf("请输入所猜一维数组下标(1~10):");
scanf("%d",&guess);
if(guess==temp)
{
printf("\n恭喜你!猜对了");
judge=true;
}
else
printf("\n很遗憾猜错了,还有%d次机会\n",count-1);
count--;
}
}
void game2()
{
int temp1=0;
int temp2=0;
int guess1;
int guess2;
int count=3;
bool judge=false;
srand((unsigned)time(NULL));
temp1=rand()%10;
temp2=rand()%10;
while((count>0)&&(judge==false))
{
printf("请输入二维数组的行下标(1~10):");
scanf("%d",&guess1);
printf("\n请输入二维数组的列下标(1~10):");
scanf("%d",&guess2);
if((guess1==temp1)||(guess2==temp2))
{
printf("\n恭喜你!猜对了");
judge=true;
}
else
printf("\n很遗憾猜错了,还有%d次机会\n",count-1);
count--;
}
}
void main()
{
int opt=-1;
char again='Y';
printf(" 猜数组下标游戏 \n");
printf(" 1.一维数组 \n");
printf(" 2.二维数组 \n");
printf(" 0.退出 \n");
while((opt!=0||opt!=1||opt!=2)&&(again=='Y'))
{
printf(" 请输入游戏序号:");
scanf("%d",&opt);
if(opt==1)
{
printf("您选择了1\n");
game1();
printf("是否继续(Y/N)?");
getchar();
scanf("%c",&again);
}
else if(opt==2)
{
printf("您选择了2\n");
game2();
printf("是否继续(Y/N)?");
getchar();
scanf("%c",&again);
}
else if(opt==0)
exit(0);
else
printf("非法输入!请重新输入序号\n");
}
}
全部回答
- 1楼网友:煞尾
- 2021-02-19 20:59
没看懂什么意思?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯