没有合适的资源?快使用搜索试试~ 我知道了~
首页C语言面试题大汇总_C语言,面试题,汇总3.PDF
C语言面试题大汇总_C语言,面试题,汇总3.PDF

C语言面试题大汇总_C语言,面试题,汇总2.PDF C语言面试题大汇总_C语言,面试题,汇总2.PDF C语言面试题大汇总_C语言,面试题,汇总2.PDF C语言面试题大汇总_C语言,面试题,汇总2.PDF
资源详情
资源评论
资源推荐

C语言面试题大汇总|C语言,面试题,汇总-中国源码
=>中国源码:全球著名开源项目大本营
● 注册会员
● 会员登录
● 控制面板
● 设为首页
● 加入收藏
● 推荐本站
博客 下载
论坛 RSS阅读
首页 ·开源动态 ·应用软件 ·开源操作系统 ·程序设计 ·开源文章 ·网络协议与安全 ·专题·图片文章·搜
索· 投稿
栏目搜索
当前位置: 首页 >> 程序设计 >> C语言面试题大汇总
C语言面试题大汇总
作者: 来源:zz 发表时间:2006-06-23 浏览次数: 10762
字号:
大 中 小
http://www.yuanma.org/data/2006/0623/article_928_2.htm (1 of 20)2006-9-26 9:58:32

C语言面试题大汇总|C语言,面试题,汇总-中国源码
华为全套完整试题
高级题
6、已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删
除。
slnodetype *Delete(slnodetype *Head,int key){}中if(Head->number==key)
{
Head=Pointer->next;
free(Pointer);
break;
}
Back = Pointer;
Pointer=Pointer->next;
if(Pointer->number==key)
{
Back->next=Pointer->next;
free(Pointer);
break;
}
void delete(Node* p)
{
if(Head = Node)
while(p)
}
有一个16位的整数,每4位为一个数,写函数求他们的和。
解释:
整数1101010110110111
和 1101+0101+1011+0111
感觉应该不难,当时对题理解的不是很清楚,所以写了一个函数,也不知道对不对。
疑问:
既然是16位的整数,1101010110110111是2进制的,那么函数参数怎么定义呢,请大虾指教。
答案:用十进制做参数,计算时按二进制考虑。
/* n就是16位的数,函数返回它的四个部分之和 */
char SumOfQuaters(unsigned short n)
{
char c = 0;
int i = 4;
do
{
c += n & 15;
n = n >> 4;
} while (--i);
http://www.yuanma.org/data/2006/0623/article_928_2.htm (2 of 20)2006-9-26 9:58:32

C语言面试题大汇总|C语言,面试题,汇总-中国源码
return c;
}
有1,2,....一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而
且一次只能交换两个数.(华为)
#include<iostream.h>
int main()
{
int a[] = {10,6,9,5,2,8,4,7,1,3};
int len = sizeof(a) / sizeof(int);
int temp;
for(int i = 0; i < len; )
{
temp = a[a[i] - 1];
a[a[i] - 1] = a[i];
a[i] = temp;
if ( a[i] == i + 1)
i++;
}
for (int j = 0; j < len; j++)
cout<<a[j]<<",";
return 0;
}
(慧通)
1 写出程序把一个链表中的接点顺序倒排
typedef struct linknode
{
int data;
struct linknode *next;
}node;
//将一个链表逆置
node *reverse(node *head)
{
node *p,*q,*r;
p=head;
q=p->next;
http://www.yuanma.org/data/2006/0623/article_928_2.htm (3 of 20)2006-9-26 9:58:32

C语言面试题大汇总|C语言,面试题,汇总-中国源码
while(q!=NULL)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
head->next=NULL;
head=p;
return head;
}
2 写出程序删除链表中的所有接点
void del_all(node *head)
{
node *p;
while(head!=NULL)
{
p=head->next;
free(head);
head=p;
}
cout<<"释放空间成功!"<<endl;
}
3两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串
void insert(char *s, char *t, int i)
{
char *q = t;
char *p =s;
if(q == NULL)return;
while(*p!='\0')
{
p++;
}
while(*q!=0)
{
*p=*q;
p++;
q++;
}
*p = '\0';
}
http://www.yuanma.org/data/2006/0623/article_928_2.htm (4 of 20)2006-9-26 9:58:32
剩余19页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论3