c语言更改程序框大小的代码,帮帮修改C语言程序的代码

这是一个使用C++编写的猜数游戏程序,玩家可以选择游戏难度并有10次机会猜测一个随机生成的数。游戏会给出数字A和B的提示,A表示位置正确的数字个数,B表示数字正确但位置错误的个数。程序还包括帮助和测试模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

匿名用户

1级

2009-06-08 回答

这是我以前自己写个猜数游戏,里面有菜单功能,和你的要求完全一样。你要是要了给你了,改你的太费事了。

#include

#include

#include

#define M 10

int a[M],b[M],c[M];

void menu(void); /*函数声明*/

void help(void);

void game(void);

void testgame(void);

void help(void) /*帮助模块*/

{ printf(" 帮助 \n");

printf(" 猜数游戏中输入一个n位数,系统将输出果mAnB. \n");

printf(" 结果B是输入的数中有几个数字存在答案中,但是\n");

printf(" 位置与答案中位置不一致,它的个数用n表示,A的\n");

printf(" 个数m则表示输入的数中有几个数字存在答案中 \n");

printf(" 且位置也与答案中一致的个数。可以通过测试看\n");

printf(" 看。共有10次推理机会,系统将判断你32313133353236313431303231363533e59b9ee7ad9431333238656630最终结果。\n");

printf(" 游戏难度表示要推理数的位数。 \n");

printf(" 游戏过程中输入0退出本次游戏。 \n");

printf("\n");

}

void game(void) /*游戏模块*/

{

int n,i,j,cnt=0,temp;

int bn=0,an=0,k;

srand((unsigned)time(NULL));

printf("请选择游戏难度1~4\n");

scanf("%d",&n);

printf("你有10次机会猜这个%d位的随机数\n",n);

for(i=0;i

{ loop: temp=c[i]=rand()%10;

if(temp!=0&&i>0)

{for(j=0;j<=i;j++)

if(temp==c[j]) {break; goto loop;}

}

if(temp==0) goto loop;

a[i]=temp;

}

for(k=0;k<10;k++)

{

an=bn=0;

printf("第%d次: ",k+1);

scanf("%d",&cnt);

if(cnt==0) break;

for(i=0;i

temp=cnt%10;

b[n-1-i]=temp;

cnt/=10;

if(cnt==0) break;

}

for(i=0;i

if(b[i]==a[i]) an++;

for(i=0;i

for(j=0;j

if(b[j]==a[i]) bn++;

bn=bn-an;

printf("%dA%dB\n",an,bn);

if(an==n) { printf("棒极了!\n"); break;}

}

if(an>0&&an

}

void testgame(void) /*测试游戏模块*/

{

int n,i,j,cnt=0,temp;

int bn=0,an=0,k;

srand((unsigned)time(NULL));

printf("请选择游戏难度1~4\n"); /*游戏难度表示要猜数的位数*/

scanf("%d",&n);

printf("你有10次机会猜这个%d位的随机数\n",n);

for(i=0;i

{ loop: temp=c[i]=rand()%10;

if(temp!=0&&i>0)

{for(j=0;j<=i;j++)

if(temp==c[j]) {break; goto loop;}

}

if(temp==0) goto loop;

a[i]=temp;

} /*生成n位随机数*/

printf("答案是:\n");

for(i=0;i

printf("\n");

for(k=0;k<10;k++)

{

an=bn=0;

printf("第%d次: ",k+1);

scanf("%d",&cnt);

if(cnt==0) break;

for(i=0;i

temp=cnt%10;

b[n-1-i]=temp;

cnt/=10;

if(cnt==0) break;

}

for(i=0;i

if(b[i]==a[i]) an++;

for(i=0;i

for(j=0;j

if(b[j]==a[i]) bn++;

bn=bn-an;

printf("%dA%dB\n",an,bn);

if(an==n) { printf("棒极了!\n"); break;}

}

if(an>0&&an

}

void menu(void) /*菜单模块*/

{

printf(" 逻辑推数游戏! \n");

printf(" $--------------------------------$\n");

printf(" $ 作者: 王博 $\n");

printf(" $--------------------------------$\n");

printf(" $ 1:帮助. $\n");

printf(" $ 2:开始游戏. $\n");

printf(" $ 3:带答案进行游戏测试. $\n");

printf(" $ 4:退出游戏. $\n");

printf(" $--------------------------------$\n");

}

int main(void) /*主函数*/

{ int i;

while(1){

menu();

scanf("%d",&i);

switch(i) {

case 1 : system("cls");help();break;

case 2 : game(); break;

case 3 : testgame();break;

default : break;

}

if(i==4) break;

}

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值