+ -
当前位置:首页 → 问答吧 → monodevelop 编写C++程序时如何包含windows.h

monodevelop 编写C++程序时如何包含windows.h

时间:2010-09-23

来源:互联网

这个测题是《C语言程序设计-现代方法》8章9题。编写程序,要求此程序可能产生一种通过10x10数组的“随机步”,数组将包含字符(初始时所有数组元素为字符‘.')程序必须是一个元素随机“走到“另一个元素,对一个元素来说这种走始终向上,向下,向左,向右。程序访问到的元素将用从A到Z的字母进行标记,而且是按顺序进行的访问。移动之前,需要检查两项内容:一是不能超出数组的范围,二是不要选取已经标记了字母的元素。如果两个条件都不满足,尝试换个方向移动,如果全部锁定了下一步的4个方向,那么程序就必须终止了。
下面是我的一段求解除的代码,但是不能完整按题打印出结果,请大家帮忙提点一下我。不胜感谢。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define N 10
#define WORD sizeof(word)/sizeof(word[0])
void main(void)
{
void print();
/* const char word[]={'A','B','C','D','E','F','G','H','J','K','L','M','N',
'O','P','Q','R','S','T','U','V','W','X','Y','Z'};*/
const char word[]=("ABCDEFGHJKLMNOPQRSTUVWXYZ";
srand((unsigned) time(NULL));
char a[N][N],*p=a[0];
int i,step;

/* initially array */
for(i=0;i<N*N;i++)
*p++='.';

int row=0,col=0;
/* random walk */
for(i=0;i<WORD
{
step=rand()%4;
switch(step)
{
case 0: /* going up*/
if(row-1>-1 && a[row-1][col]=='.')
row--;
break;
case 1: /* going down */
if(row+1<N && a[row+1][col]=='.')
row++;
break;
case 2: /* going left */
if(col-1>-1 && a[row][col-1]=='.')
col--;
break;
case 3: /* going right */
if(col+1<N && a[row][col+1]=='.')
col++;
break;
}
if(a[row+1][col]!='.' && a[row-1][col]!='.' && a[row][col-1]!='.' && a[row][col+1]!='.')
break;
else
a[row][col]=word[i];i++;

}
print(a);

}
void print(char a[N][N])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%4c",a[i][j]);
printf("\n";
}
}

作者: yjdwbj   发布时间: 2010-09-23

顶!!!!

will you say mother jyili.com still every parent not www.tjzmb.com  see agoin seyau www.cye58.com free ers post www.yingyuji.com two www.aywawa.com that youa aeui www.baidu.com and see you moss kiss dzy.cye58.com to you cook  pasu id r1.cye58.com seeya fp025.cye58.com atalk work eayu .

作者: 哦哦698   发布时间: 2010-09-24