c语言运动小人代码,C语言小人走迷宫

1 , C语言小人走迷宫不让小人走出地图可以在每走一步就判断小人此刻的行坐标、列坐标是否超出地图的行、列坐标,如果超出就让他停止或者拐弯 。不定义二维数组肯定是可以的,关键是怎么实现起来更方便、更简洁、也更容易让人理解 。/* 以下代码在 win-tc+中文dos环境 下测试通过 */#include #include #include #include "graphics.h" #define key_esc 0x011b #define key_left 0x4b00 #define key_right 0x4d00 #define key_up 0x4800 #define key_down 0x5000 enum { wall = -1, white, black }; int getpresskey( void ) { return bioskey(1) ? bioskey(0) : 0; } void move(int arr[][27], int width, int high) { int x, y, x2, y2; int nkey; x = y = 1; /* 由于字符占两个格子 所以乘二 */ x2 = x * 2 + 1; y2 = y + 1; /* 定位到起始位置 */ gotoxy(x2, y2); while( 1 ) { /* 获取键值 */ nkey = getpresskey(); if(nkey != 0) { /* 走步操作 */ switch(nkey) { /* 由于围墙了 所以边界判断都不再需要 */ case key_left: x = (/*x>1 && */arr[y][x-1]!=wall) ? x-1 : x; break; case key_right: x = (/*x1 && */arr[y-1][x]!=wall) ? y-1 : y; break; case key_down: y = (/*y
2,c语言小代码现在许多编译器都支持常见函数(如printf(),scanf())不用include库函数也能直接用,所以小程序省略了也能正常运行 。#include "stdio.h"#include "string.h"#define n 3#define m 20main()char a[20],b[20],c[20];void mysort();//函数声明mysort(a,b,c);//函数调用与函数声明不一致,多了三个参数}void mysort(char *a,char *b,char *c)char *pa,*pb,*pc,*pt;pa=a;pb=b;pc=c;scanf("%s %s %s",pa,pb,pc);if(strcmp(a,b)>0)pt=a;a=b;b=t;//t未定义,应该是pt}if(strcmp(b,c)>0)pt=b;b=c;c=t;//t未定义}if(strcmp(a,c)>0)pt=a;a=c;c=t;//t未定义}printf("%s %s %s",a,b,c);}修改的代码如下:#include "stdio.h"#include "string.h"#define n 3#define m 20main()char a[20],b[20],c[20];void mysort(char *a,char *b,char *c);mysort(a,b,c);}void mysort(char *a,char *b,char *c)char *pa,*pb,*pc,*pt;pa=a;pb=b;pc=c;scanf("%s %s %s",pa,pb,pc);if(strcmp(a,b)>0)pt=a;a=b;b=pt;}if(strcmp(b,c)>0)pt=b;b=c;c=pt;}if(strcmp(a,c)>0)pt=a;a=c;c=pt;}printf("%s %s %s",a,b,c);}一般的编译器自带了包含文件的,这个时候就可以直接编译连接的【c语言运动小人代码,C语言小人走迷宫】

    推荐阅读