为了账号安全,请及时绑定邮箱和手机立即绑定

请大神帮我看看这个程序。。。

http://img1.sycdn.imooc.com//5659ceef0001e7b853122988.jpg第9题

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <stdbool.h>

int main()
{
 bool m[10][10]={false};
 bool n[10][10]={false};
 char a[10][10];
 char x[25]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
 int i,k,b,c,d=0,e=0,f=0,g,h,j,l;
 for(i=0;i<10;i++)
 {

  for(k=0;k<10;k++)
  {
   (a[i][k]='.');
  }
 }
 srand((unsigned) time(NULL));
 (a[e][f]='A');
 (m[e][f]=true);
 
 for(b=0;b<26;b++)
 {
  
  d++;
  (c=rand()%4);
 
  switch(c)
  {
   case 0:
   if(m[e][f-1])
   {n[e][f-1]=true;
   break;}
   (a[e][f-1]=x[d]);
   g=e;
   h=f-1;
   m[g][h]=true;
   break;
   
   case 1:
   if(m[e-1][f])
   {n[e-1][f]=true;
   break;}
   (a[e-1][f]=x[d]);
   g=e-1;
   h=f;
   m[g][h]=true;
   break;
   
   case 2:
   if(m[e][f+1])
   {n[e][f+1]=true;
   break;}
   (a[e][f+1]=x[d]);
   g=e;
   h=f+1;
   a[g][h]=true;
   break;
   
   case 3:
   if(m[e+1][f])
   {n[e+1][f]=true;
   break;}
   (a[e+1][f]=x[d]);
   g=e+1;
   h=f;
   m[g][h]=true;
   break;
   
  
   
  }
  
  e=g;
  f=h;
   
   if (g<0||h<0||g>9||h>9)
   break;
   if(n[g][h])
   break;
    }
   for(j=0;j<10;j++)
  {
   for(l=0;l<10;l++)
   printf("%c ",a[j][l]);
    printf("\n");
   
  
   
  }
 
 

 return 0;
}

正在回答

3 回答

好长- -

0 回复 有任何疑惑可以回复我~

我是新手, 不太懂, 请指教。。。

0 回复 有任何疑惑可以回复我~

第九题      哪儿错了    有时候会直接跳过几个字母 还会输出一个笑脸

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

请大神帮我看看这个程序。。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信