恒生电子笔试题3(5)
时间:2025-03-11
时间:2025-03-11
恒生电子笔试题
while (count--) *--tmp = *--s; }
return dest; }
3. 将一个十进制数转换成指定进制,并返回它的字符串表达(系统数字进制,对于二进制系统就是2,十进制系统就是10)。指定的进制比1大比10小。例如,十进制99转换成8进制字符串就是"143"(函数中不可使用任何C标准函数,除了malloc())。
#include <stdlib.h>
char* GetNumber(unsigned int nNum, unsigned int nBase) {
char* pRet = malloc(33); int* pNum = malloc(33 * 4); int nIndex = 0;
if (pRet == NULL | pNum == NULL) { pRet? free(pRet) : ; pNum? free(pNum) : ; return NULL; }
int nLeft = nNum; int nMod;
while (nLeft > 0) { nMod = nLeft % nBase; nLeft /= nBase; pNum[nIndex++] = nMod; }
int nC = 0;
for (; nC < nIndex; nC++) { pRet[nC] = pNum[nIndex - nC - 1] + '0'; }
pRet[nIndex] = 0;
free(pNum);
return pRet; }
4. 找出可以从开始位置至结束位置通过迷宫的路径。迷宫宽8,高也是8,由一个二维数组表示,开始位置是左上角,坐标(0, 0),结束位置是右下角,坐标(7, 7)。每个数组元素定义一个方块的连通性,0表示不通,其它表示连通。例如,下表所表示的迷宫中用不同颜色标识了一条路径。
完成以下函数,数组"maze"是迷宫的地图,大小是8*8。将找到的路径保存在"maze"
上一篇:09级电信二班赵晓飞毕业论文