第2题:已知字串GBK汉字ansi编码数字字母混合组成编写C语言函数实现中掉ansi编码数字字母(包括写)求原字串返回结果函数接口:int filter_ansi(char* gbk_string)注:汉字GBK编码范围0x8140 0xFEFE
第3题:芯片测试2k块芯片已知芯片坏芯片请设计算法中找出片芯片说明较次数限中:芯片芯片较时正确出块芯片坏坏芯片芯片较时会机出坏
里填写答案:
-------------------------------------------------
第1题:C语言实现公库函数void * memmove(void *destconst void *srcsize_t n)该函数功拷贝src指存容前n字节dest指址注意作公库函数请注意安全检查注意处理存区重合情况
void* memmove(void * dest const void * src size_t n)
{
void* temp dest
if (dest < src || (char *)dest > ((char *)src + n)) 存址重叠
{
while (n)
{
*(char *)dest *(char *)src
dest (char *)dest + 1
src (char *)src + 1
}
}
else 存址重叠
{
dest (char *)dest + n 1
src (char *)src + n 1
while (n)
{
*(char *)dest *(char *)src
dest (char *)dest 1
src (char *)src 1
}
}
return (temp)
}
-------------------------------------------------
第2题:已知字串GBK汉字ansi编码数字字母混合组成编写C语言函数实现中掉ansi编码数字字母(包括写)求原字串返回结果函数接口:int filter_ansi(char* gbk_string)注:汉字GBK编码范围0x8140 0xFEFE
int filter_ansi(char* gbk_string)
{
char *p gbk_string *q gbk_string
while (*q '\0')
{
if ((*q > 0) && (*q < 128)) 判断否asci字符
{
if (((*q > '0') && (*q < '9')) 判断否数字字母
|| ((*q > 'a') && (*q < 'z'))
|| ((*q > 'A') && (*q < 'Z')))
{
q++
}
else
{
*p++ *q++
}
}
else
{
if (((*((unsigned short*)q)) > 0x8140) && ((*((unsigned short*)q)) < 0xFEFE)) 汉字
{
*p++ *((char*)q)++
*p++ *((char*)q)++
}
else 汉字
{
q++
q++
}
}
}
*p '\0'
return (p gbk_string)
}
-------------------------------------------------
第3题:芯片测试2k块芯片已知芯片坏芯片请设计算法中找出片芯片说明较次数限中:芯片芯片较时正确出块芯片坏坏芯片芯片较时会机出坏
答案:
1.首先两两分成果互测结果留否扔掉扔掉里面总坏会少样剩两两坏称剩样纯粹次分坏情况1000留
2.然留便两两分组样变成组里两纯粹组较时两纯粹中意选元素进行较果留组否扔掉样剩四四坏四成组组纯粹组次分坏情况500留
3.接着剩组便两两分里两纯粹组较里两纯粹组时意选元素较果留新纯粹组里面8者8坏否扔掉坏情况留250
4.剩组两两分样两纯粹组中选元素进行较留成新纯粹组否扔掉样新纯粹组中16者16坏坏情况留125
5.样两两分62单独样方法较62坏情况留31中里32者32坏单独中16者16坏带入轮
6.剩32意两两分组中组含32坏含16坏记A15组两含32坏样方法较15组新纯粹组含6464坏坏情况留15组A 两中选代表较果留成新纯粹组含48者坏否含32坏组中意选16组含16坏起扔掉剩16坏成新纯粹组样保证扔掉里面总坏少说坏情况剩16组
7.16组两两分第六步样方法坏8中7128者128坏数目128纯粹组
8.理两两分4组然两组时数量组中选坏情况较 1000+500+250+125+62+31+16+8+4+21998次 (果剩两组芯片数样两组中选数量总坏数量次扔掉坏者相等剩两组中芯片)
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档