麻烦帮解释下这个程序 越详细越好 最好是逐条
#include <stdio.h>
#include<time.h>
#include<stdlib.h>
//函数声明
cd(); //显示菜单,并选择猜单项
ksyx(); //开始游戏
bz(); //显示"帮助"
ts(); //提示游戏失败,并询问是否继续玩
main() //主函数
{
cd();
}
cd()
{
int n;
printf("\n\n\n\n");
printf("\t\t\t @ @ @ @ @ @ @\n\n");
printf("\t\t\t @ 猜 数 游 戏 @ \n\n");
printf("\t\t\t @ @ @ @ @ @ @\n\n\n\n");
printf("\t\t\t 1开始 游 戏 \n\n");
printf("\t\t\t 2 帮 助 \n\n");
printf("\t\t\t 3退 出 游 戏 \n\n");
do
{
scanf("%d",&n);
switch(n)
{
case 1:ksyx();
case 2:bz();
case 3:exit(0);
default:printf("帮助\n");
}
}while((n>3)&&(n<1));
}
ts()
{
int c;
printf(" \t\t & & & & & & & & & & & \n");
printf(" \t\t & & & & & & & & \n");
printf(" \t\t & & & & & & & & & & & & & & \n ");
printf(" \t\t & & & & & & & & \n ");
printf(" \t\t & & & & & & & & & & & \n\n\n ");
printf(" \t\t & & \n");
printf(" \t\t & & & & & & & & & & \n");
printf(" \t\t & & & & & & & & & \n");
printf(" \t\t & & & & & & & & & \n");
printf(" \t\t & & & & & & \n");
printf(" \t\t & & & & & & & \n\n\n\n\n\n");
do
{
printf("重玩游戏?1.是 2.否\n");
scanf("%d",&c);
switch(c)
{
case 1:cd();
case 2:exit(0);
}
}while(c!=1||c!=2);
}
bz()
{
char c;
printf("\n\n\n");
printf("\t\t 猜数字的游戏\n");
printf("\t\t要求用户输入4个随机0—9的数,\n");
printf("\t\t某个数字猜对并且位置正确为A,\n");
printf("\t\t某个数字猜对但位置不正确则为B.\n");
printf("\t\t如果五次都猜错,游戏将宣告结束!\n");
do
{
printf("\t\t 按【q】返回主菜单 \n\n");
scanf("%s",&c);
printf("\n");
if(c=='q')
{
cd();
}
else
printf("\t\t按 q 返回主菜单\n\n\n");
}while(c!='q');
}
ksyx()
{
int i,k,q[4],a[4],s=0,A=0,B=0,w;
char c;
srand((int)time(0));
do
{
for(i=0;i<4;i++) //生成四个数
{
q[i]=rand()%10;
}
w=0;
for(i=1;i<4;i++) //判断是否重复
{
for(k=0;k<i;k++)
{
if(q[i]==q[k])
w=1;
break;
}
}
} while(w==1);
printf("要求用户输入4个随机0—9的数\n");
do
{
s+=1;
if(s==5)
{
printf("游戏结束\n");
printf("答案是%d,%d,%d,%d\n",q[0],q[1],q[2],q[3]);
ts();
}
do
{
for(i=0;i<4;i++) //输入四个数
{
scanf("%d",&a[i]);
}
w=0;
for(i=1;i<4;i++) //判断是否重复
{
for(k=0;k<i;k++)
{
if(a[i]==a[k])
{
w=1;
printf("输入错误,请重新输入\n");
break;
}
}
}
}while(w==1);
for(i=0;i<4;i++)
{
for(k=0;k<4;k++)
{
if((q[i]==a[k])&&(k==i))
A+=1;
else if((q[i]==a[k])&&(k!=i))
B+=1;
}
}
if(A==4)
{
printf("恭喜你回答正确继续努力\n");
do
{
printf("\n\n按【q】返回主菜单!\n");
scanf("%s",&c);
if(c=='q')
{
cd();
}
}while(c!='q');
}
else
{
printf("A=%d,B=%d",A,B);
printf("你猜错了,请重新输入\n");
A=0;
B=0;
}
} while(1);
}