找回密码
 注册
搜索
查看: 1288|回复: 3

某手机公司的笔试题

[复制链接]
发表于 2006-11-9 12:03:46 | 显示全部楼层 |阅读模式
1.      Write a function that prints the binary representation of an unsigned integer using only putchar() for output

2.      Memory Management/Pointer manipulation
Write a function that allows you to remove a substring from a string and returns a new string that uses only the amount of storage needed
Assume: All arguments are always valid
     The original string should remain untouched
Use the following function prototype
char * remove_substr(char *str, int pos, int length);

【文件名】:06119@52RD_某手机公司的笔试题.txt
【格 式】:txt
【大 小】:1K
【简 介】:
【目 录】:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2006-11-10 12:35:24 | 显示全部楼层
垃圾!
点评回复

使用道具 举报

发表于 2006-11-10 13:12:50 | 显示全部楼层
还英文的?
点评回复

使用道具 举报

发表于 2006-11-11 00:56:56 | 显示全部楼层
1.
void bin_dump_uint(unsigned int input)
{
    int i = sizeof(unsigned int)*8 - 1;

    while (i >= 0)
    {
        putchar('0' + (input>>i & 1));
        if (i%8 == 0)
            putchar(' ');
        --i;
    }
}

2.
char *remove_substr(char *str, unsigned int pos, unsigned int len)
{
    int i;
    char *temp, *sub_str = NULL;
    unsigned int org_len = strlen(str);

    if (pos > org_len)
        return NULL;

    if (len > org_len-pos)
        len = org_len-pos;

    temp = sub_str = (char*)malloc(org_len-len+1);
    if (!sub_str)
        return NULL;
    memset(sub_str, 0x00, org_len-len+1);

    for (i = 0; *str; ++i, ++str)
    {
        if (i < pos || i >= pos+len)
        {
            *temp = *str;
            ++temp;
        }
    }
    *temp = 0;

    return sub_str;
}
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-26 23:20 , Processed in 0.048498 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表